Securities market and market maker activity tracking system and method

ABSTRACT

A method, system and computer program to monitor securities market activity to seek out imbalances in market activity that could lead to a price change in a particular security. Level  1  and/or level  2  data is analyzed to track the activity of market makers and to derive indicators of momentary upward or downward price pressure. The indicators associated with each selected security are displayed to a user.

RELATED APPLICATION DATA

[0001] This application is a continuation-in-part of U.S. patentapplication Ser. No. 09/911,772, filed Jul. 24, 2001, the disclosure ofwhich is herein incorporated by reference in its entirety.

TECHNICAL FIELD

[0002] The present invention generally relates to real time monitoringand analysis of securities market activity, and, more particularly, to asystem and method of tracking and analyzing market maker activity on adynamic basis for a plurality of securities.

BACKGROUND ART

[0003] In a securities market, shares of stock in corporations (andoptions thereon), commodity futures (and options thereon), currenciesand the like are traded over a common system or exchange. Other tradeditems can include, but are not limited to, indices and mutual funds. Forsimplicity, however, the following discussion will be limited to thepurchase and sale of corporate stock. Within the exchange, traders buyand sell securities using bids and offers (also referred to as asks).More specifically, market makers who are selling securities transmit“offers” (or prices) and volumes (or associated volumes) at which theywill sell various securities, and market makers who are buyingsecurities transmit “bids” (or prices) and volumes (or associatedvolumes) at which they will buy various securities. Sellers attempt tosell at the highest possible price and buyers attempt to buy at thelowest possible price. The “inside market” represents the best price forsellers and buyers and respectively is comprised of the lowest ask (alsoknown as the inside ask price or level 1 ask) and the highest bid (alsoknown as the inside bid price or level 1 bid).

[0004] To maximize the profit taken from the securities market, traderswould like certain information to determine what moment is advantageousto sell or buy a particular security. Traditionally, traders havetracked information derived from the “floor” of exchanges such as theNew York Stock Exchange (NYSE), the National Association of SecuritiesDealers (NASDAQ), the Chicago Mercantile Exchange and the like. Thisinformation can be transmitted electronically in near real time (i.e.,almost simultaneously with actual market activity) to computerworkstations for traders to view and analyze.

[0005] The information presently available to traders includes “level 1”information and “level 2” information. Level 1 information for aparticular security typically includes, but may not be limited to, thecurrent trade value (i.e., last trade), the current trade volume, thetotal volume of shares traded during the trading session, the price toearnings (PIE) ratio, the previous trading day's closing value, thepresent day's opening value, the high and low values for the day and forthe previous 52 weeks, the change from the prior closing value, thelowest ask (inside ask), the highest bid (inside bid), the earnings pershare, the market capitalization, the dividend paid per share, thedividend yield, news items and articles, and so forth. Also availableare records of historical performance, which can be displayedgraphically on a trade by trade basis or over periods of time rangingfrom fractions of seconds to years. Also available are statistics for anentire exchange, such as total volume of shares traded and statisticsfor calculated market indices, such as the Dow-Jones Industrial Average(“The DOW”), the NASDAQ Composite, the Standard and Poor's 500 (“S&P500”), the Russell 2000, sector indices, etc.

[0006] Level 2 information for a particular security typically includeseach market maker having an open (or active) bid or ask, the time whenthe bid or ask was placed (also referred to respectively as bid time andask time), size of the bid or ask (i.e., number of shares, oftenreported in lots of 100) and price of the ask or bid.

[0007] Many traders are interested in short term upward or downwardprice movements for selected securities. Predicting upward and downwardprice movement is often carried out by observing level 2 information fortrends made by market makers as they offer and bid shares of varioussecurities. Typically, level 2 information for one to three securitieswill be displayed on a computer monitor and this information is intentlywatched by the trader. The number of securities an individual can trackin this manner is limited by the memory and cognitive ability of theindividual to assimilate up to tens or hundreds of dynamically updateditems of information per security per second. As a result, most traderscan only effectively track one security at a time. More skilled tradersmay be able to track several securities at a time. Nevertheless, thistechnique is physically and mentally taxing on the trader. In addition,while a trader is tracking one or two securities, a purchase or sellopportunity for a different, untracked security may have been missed.

[0008] At least one attempt to automate the analysis of level 2information has been made. As discussed in U.S. Pat. No. 5,297,032,market depth for a watch list of securities is displayed by identifyingthe total number of market makers on the inside market for respectivebid and offer quotes for each watch list security along with arrows toindicate whether the number of market makers at these prices isincreasing, staying the same or decreasing. However, this system doesnot provide adequate information for a trader to make a decision as tothe appropriateness of purchasing or selling a particular security.

[0009] Accordingly, there exists a need in the art for a moresophisticated securities and market maker activity tracking system thanthe prior art provides.

SUMMARY OF THE INVENTION

[0010] According to one aspect of the invention, a method of tracking aplurality of symbols (each symbol can stand for a particular stock,option, future, index, etc.) relating to securities traded on at leastone common exchange. The method includes receiving a dynamically updateddata stream containing level 1 data relating to the plurality of symbolstraded over the at least one exchange, the level 1 data including atleast the last trade price of each symbol; and analyzing the data streamfor a set of symbols to derive a statistic indicative of temporaryupward or downward price pressure, the statistic derived for each symbolfrom the set of symbols and updated based on the updated data stream,wherein deriving the statistic includes counting the number of timeseach symbol achieves a new intra-session high and counting the number oftimes each symbol achieves a new intra-session low.

[0011] According to another aspect of the invention, a method oftracking a plurality of symbols relating to securities traded on atleast one common exchange. The method includes receiving a dynamicallyupdated data stream containing level 1 data relating to the plurality ofsymbols traded over the at least one exchange, the level 1 dataincluding at least the last trade price of each symbol; and analyzingthe data stream for a set of symbols to derive a statistic indicative oftemporary upward or downward price pressure, the statistic derived foreach symbol from the set of symbols and updated based on the updateddata stream, wherein deriving the statistic includes determining arelationship between each trade price and at least one of anintra-session high and an intra-session low, the relationship indicativeof how close the last trade value is to at least one of theintra-session high and the intra-session low value.

[0012] According to yet another aspect of the invention, a method oftracking activity of a plurality of market makers relating to securitiestraded on at least one common exchange where the market makers placebids and asks. The method includes receiving a dynamically updated datastream containing level 1 and level 2 data relating to a plurality ofsecurities traded over the at least one exchange, the level 1 dataincluding at least the last trade price of each security and the level 2data containing a bid price, a bid time, a bid volume, a securityidentifier, and a market maker identifier for each bid, and an askprice, an ask volume, an ask time, a security identifier and a marketmaker identifier for each ask; for a selected security, displaying atleast some of the bid prices and associated market maker identifiers ona display in an order according to bid price and displaying at leastsome of the ask prices and associated market maker identifiers on thedisplay in an order according to ask price; and for a selected marketmaker, visually emphasizing at least one of a displayed bid price or adisplayed ask price.

[0013] According to still another aspect of the invention, a method oftracking activity of a particular market maker relating to securitiestraded on at least one common exchange where the market maker placesbids and asks. The method includes receiving a dynamically updated datastream containing level 1 and level 2 data relating to a plurality ofsecurities traded over the at least one exchange, the level 1 dataincluding at least the last trade price of each security and the level 2data containing a bid price, a bid time, a bid volume, a securityidentifier, and a market maker identifier for each bid, and an askprice, an ask time, an ask volume, a security identifier and a marketmaker identifier for each ask; and identifying each security from aselected set of securities for which the market maker has at least oneof an active bid or an active ask; displaying a list of the identifiedsecurities along with an indication of the market maker's bid price andask price; and visually emphasizing any bid price and any ask price forwhich the market maker has the inside bid and the inside askrespectively.

[0014] According to another aspect of the invention, a system fortracking a plurality of symbols relating to securities traded on atleast one common exchange. The system includes a receiver for receivinga dynamically updated data stream containing level 1 data relating tothe plurality of symbols traded over the at least one exchange, thelevel 1 data including at least the last trade price of each symbol; anda processor for executing logic to analyze the data stream for a set ofsymbols to derive a statistic indicative of temporary upward or downwardprice pressure, the statistic derived for each symbol from the set ofsymbols and updated based on the updated data stream, wherein derivingthe statistic includes counting the number of times each symbol achievesa new intra-session high and counting the number of times each symbolachieves a new intra-session low.

[0015] According to yet another aspect of the invention, a system oftracking a plurality of symbols relating to securities traded on atleast one common exchange. The system includes a receiver for receivinga dynamically updated data stream containing level 1 data relating tothe plurality of symbols traded over the at least one exchange, thelevel 1 data including at least the last trade price of each symbol; anda processor for executing logic to analyze the data stream for a set ofsymbols to derive a statistic indicative of temporary upward or downwardprice pressure, the statistic derived for each symbol from the set ofsymbols and updated based on the updated data stream, wherein derivingthe statistic includes determining a relationship between each tradeprice and at least one of an intra-session high and an intra-sessionlow, the relationship indicative of how close the last trade value is toat least one of the intra-session high and the intra-session low value.

[0016] According to still another aspect of the invention, a system fortracking activity of a plurality of market makers relating to securitiestraded on at least one common exchange where the market makers placebids and asks. The system includes a receiver for receiving adynamically updated data stream containing level 1 and level 2 datarelating to a plurality of securities traded over the at least oneexchange, the level 1 data including at least the last trade price ofeach security and the level 2 data containing a bid price, a bid time, abid volume, a security identifier, and a market maker identifier foreach bid, and an ask price, an ask volume, an ask time, a securityidentifier and a market maker identifier for each ask; and a display fordisplaying, for a selected security, at least some of the prices andassociated market maker identifiers on a display in an order accordingto bid price and displaying at least some of the ask prices andassociated market maker identifiers on the display in an order accordingto ask price, wherein, for a selected market maker, at least one of adisplayed bid price or a displayed ask price is visually emphasized.

[0017] According to one more aspect of the invention, a system oftracking activity of a market maker relating to securities traded on atleast one common exchange where the market maker places bids and asks.The system includes a receiver for receiving a dynamically updated datastream containing level 1 and level 2 data relating to a plurality ofsecurities traded over the at least one exchange, the level 1 dataincluding at least the last trade price of each security and the level 2data containing a bid price, a bid time, a bid volume, a securityidentifier, and a market maker identifier for each bid, and an askprice, an ask time, an ask volume, a security identifier and a marketmaker identifier for each ask; a processor for executing logic toidentify each security from a selected set of securities for which themarket maker has at least one of an active bid or an active ask; and adisplay for displaying a list of the identified securities along with anindication of the market maker's bid price and ask price, wherein anybid price and any ask price for which the market maker has the insidebid and the inside ask respectively is visually emphasized.

BRIEF DESCRIPTION OF DRAWINGS

[0018] These and further features of the present invention will beapparent with reference to the following description and drawings,wherein:

[0019]FIG. 1 is a block diagram of a securities and market makeractivity tracking system according to the present invention;

[0020]FIG. 2 is a block diagram of a screen shot of displayedinformation generated by the system of FIG. 1;

[0021]FIG. 3 is a block diagram of a level 1 and level 2 informationdisplay window;

[0022]FIG. 4A is a block diagram of an analysis result window in a watchlist mode;

[0023]FIG. 4B is a block diagram of the analysis result window in amarket makers book mode;

[0024]FIG. 4C is a block diagram of the analysis result window in amarket stocks mode;

[0025]FIG. 4D is a block diagram of the analysis result window in amarket players mode;

[0026]FIG. 4E is a block diagram of the analysis result window in aninsider mode;

[0027]FIG. 5A is a block diagram of a chart window;

[0028]FIG. 5B is a block diagram of a zoom chart window;

[0029]FIG. 6 is a block diagram of an alert window;

[0030]FIGS. 7A to 7D illustrate an exemplary architecture for asecurities and market maker activity tracking system software toolaccording to the present invention;

[0031]FIG. 8 is a block diagram of the analysis result window in themarket maker's book mode having an inside bid/ask action feature turnedon;

[0032]FIG. 9 is a block diagram of the analysis result window in thecount mode and the rank mode sorted by descending high count;

[0033]FIG. 10 is a block diagram of the analysis result window in thecount mode and the rank mode sorted by descending rank value; and

[0034]FIG. 11 is a block diagram of the securities and market makeractivity trading system in a distributed embodiment.

DISCLOSURE OF INVENTION

[0035] Introduction

[0036] In the detailed description which follows, identical componentshave been given the same reference numerals, regardless of whether theyare shown in different embodiments of the present invention. Toillustrate the present invention in a clear and concise manner, thedrawings may not necessarily be to scale and certain features may beshown in somewhat schematic form.

[0037] The present invention relates to a system and associated methodsof tracking securities traded over a common market. The system andassociated methods assist a user to track and analyze the activity ofmarket makers involved in the purchase and sale of the tradedsecurities. In doing so, the system and associated methods observesmarket maker activity for trends, or indicators, potentially leading toshort term (i.e., a limited duration of time) upward or downward pricemovement in at least one security. The system and methods use sets ofdynamically updated items of information relating to market makeractivity and statistics derived therefrom to present the user withinformation regarding the activity of marker makers involved in thepurchase and sale of the traded securities.

[0038] The system utilizes level 1 and level 2 information to deriveindicators of short term upward or downward price pressure for aplurality of securities selected by a user. The level 2 information isfiltered by a set of level 2 filters to derive a corresponding number oflevel 2 data sets. Indicators of upward or downward price pressure arederived from each of the level 2 data sets for each of a plurality ofsecurities. The filters adapt themselves dynamically to current marketconditions and will be described in greater detail below.

[0039] The information displayed to the user, including the calculatedstatistics, is dynamically sorted so that with each screen refresh, thedisplayed information is ordered appropriately for the display methodselected by the user.

[0040] The system and corresponding methods have at least sevenoperational modes, including a watch list mode, a market maker's bookmode, a market stocks mode, a market player's mode, an insider mode, acount mode and a rank mode. Each of these modes will be described ingreat detail below.

[0041] Briefly, in the watch list mode, the user is presented with bidand ask volume information for a select group of securities and with buyand sell pressure for the selected group of securities.

[0042] In the market maker's book mode, the user is presented withinformation regarding the securities for which a selected market makerhas active bids and asks.

[0043] In the market stocks mode, the user is presented with informationrelating to the securities for which there is heavy bid and ask volumeon a market maker by market maker basis.

[0044] In the market player's mode, the user is presented withinformation regarding cumulated activity on a market maker by marketmaker basis.

[0045] In the insider mode, the user is presented with informationregarding the market makers who have been positioned at the insidemarket for the greatest amount of time on a security by security basis.

[0046] In the count mode, the user is presented with informationregarding the number of new intra-trading session (sometimes referred toas intra-day) highs and/or new intra-trading session lows on a symbol bysymbol basis.

[0047] In the rank mode, the user is presented with informationregarding the relationship between a last trade price for a symbol andthe intra-trading session high and low for the symbol.

[0048] The system can be programmed with alert thresholds that aretripped by data values contained within the level 1 or level 2 datastream or tripped by calculated statistics. If an alert is tripped, theuser will be notified by the system.

[0049] Securities and Market Maker Activity Tracking System Overview

[0050] Referring to FIG. 1, a block diagram of a securities and marketmaker activity tracking system 10, or system 10, according to thepresent invention is illustrated. As used herein, the term “security”(or “securities”) is intended to include, but is not limited to, sharesof stocks in corporations (or options thereon), corporate or governmentbonds, commodity futures (or options thereon), currencies, options,indicies, mutual funds, and the all other items traded over a commonsystem or exchange. The term security can also include indices, such asfor example, “the Dow”, “the NASDAQ composite”, a sector index orindicator and so forth. The term “symbol” (or “symbols”) includessecurities and indices. Briefly, the system 10 is a computer tool havinga graphical user interface to assist a securities trader in analyzinginformation from security markets for opportune times to purchase orsell a particular security. Although the invention has application intracking and analyzing securities of any type, the following discussionrelates to the tracking and analysis of information related to thetrading of shares of corporate stock on an exchange or exchanges.

[0051] More specifically, the activity of market makers (i.e., placementof bids and asks) is analyzed. Many of the modes of operation describedherein are geared to seek out temporary, typically short term (i.e.,lasting from several seconds to perhaps as long a several hours),imbalances in individual or collective market maker activity that couldlead to a price change in a particular security or index. Theseimbalances are also referred to as upward or downward price pressuresand may last for few seconds, minutes or hours depending on marketconditions.

[0052] The system 10 includes a computer system 12, which can includemultiple computers that can be located remotely from each other.However, in the illustrated embodiment of FIG. 1, the computer system 12includes a single computer. The computer system 12 has one or moreprocessors 14 for executing instructions, usually in the form ofcomputer code, to carry out a specified logic routine. The computersystem 12 has a memory 16 for storing data, software, logic routineinstructions, computer programs, files, operating system instructions,and the like. The memory 16 can comprise several devices and includes,for example, volatile and non-volatile memory components. Volatilememory components typically do not retain data values upon a loss ofpower. Non-volatile memory components retain data upon a loss of power.Thus, the memory 16 can include, for example, random access memory(RAM), read only memory (ROM), hard disks, floppy disks, compact disks(including, but not limited to, CD-ROM, DVD-ROM, and CD-RW), tapes,and/or other memory components, plus associated drives and players forthese memory types. In a multiple computer embodiment, the processor 14can be multiple processors on one or more machines linked togetherlocally or remotely. The software described herein can be broken-up sothat different parts can be executed by different computers locatedlocally or remotely from each other.

[0053] The processor 14 and the memory 16 are coupled to a localinterface 18. The local interface 18 can be, for example, a data buswith an accompanying control bus, or a network between a processorand/or processors and/or memory or memories. The computer system 12 hasa video interface 20, a number of input interfaces 22, a modem 24 and/ora data transceiver interface device 25 (the modem 24, the data receiver25 and any other device for receiving and/or transmitting data are alsoreferred to herein as a receiver, a receiving means and/or atransceiver), a number of output interfaces 26, each being coupled tothe local interface 18.

[0054] The system 10 has a display 28 coupled to the local interface 18via the video interface 20. Although shown as a single cathode ray tube(CRT) type display, multiple displays can be used. Also, the displaydevice can alternatively be, for example, a liquid crystal display(LCD), a plasma display, an electro-luminescent display, indicatorlights, or light emitting diodes (LEDs). In addition, the system 10 hasseveral input devices including, but not limited to, a keyboard 30, amouse 32, a microphone 34, a digital camera (not shown) and a scanner(not shown), each being coupled to the local interface 18 via the inputinterfaces 22. The modem 24 and/or data receiver 25 can be coupled to anexternal network 38 enabling the computer system 12 to send and receivedata signals, voice signals, video signals and the like via the externalnetwork 38 as is well known in the art. The external network 38 may be,for example, the Internet, a wide area network (WAN), a local areanetwork (LAN), a direct data link, or other similar network orcommunications link, including wireless networks. The modem 24 and/orthe data receiver 25 can be coupled to receive data from a satellitetransceiver 39, co-axial cable, fiber optic cable, etc. It is noted thatthe system 10 can be accessed and used by a remote user via the externalnetwork 38 and modem 24. The system 10 can also include output devicescoupled to the local interface 18 via the output interfaces 26, such asaudio speakers 40, a printer 42, and the like.

[0055] The computer system 12 is programmed to display and execute asecurities tracking software tool in graphical user interface (GUI)format. Alternatively, the computer system 12 has logic stored in thememory 16 capable of being executed to display and function as thesecurities tracking software tool.

[0056] In one embodiment of the invention, a server receives a level 1and level 2 data stream and analyzes the data stream to producestatistics as described herein. The server outputs a data set, includingthe statistics, to a client terminal over a network or communicationslink. The client can further process the data sent and generate displaysof data to a user.

[0057] With additional reference to FIG. 2, and an exemplary GUI displayscreen 50 (or screen shot), generated by the securities tracking system10 and displayed on the display 28 is illustrated. The display screen 50displays information to a user of the securities tracking system 10.This information is intended to assist the user in deciding whichsecurities to purchase or sell and when to make those purchases andsales. The display screen 50 includes a number of regions for displayingvarious sets of information and includes an action menu window 52, alevel 1 and level 2 information display window 54, an analysis resultwindow 56, a chart window 58, and an alert window 60. The exemplarydisplay screen 50 includes drop-down menus 62 as are known in the artfor allowing the user to select various features and functions of thesecurities tracking system 10.

[0058] It is noted that the GUI display screen 50 can also includemultiple windows that are open simultaneously. For example, the windows54, 56, 58 and/or 60 can be displayed in their own window boxes. Inaddition, multiple instances of a window can be opened. For example,multiple analysis result windows 56 can be opened to display, on adynamically updated basis, various groups of data and/or statistics,even if the windows are used to display information relating to the samemode, different modes or combinations of modes (e.g., the watch listmode, the market makers book mode, etc.). Each window is sizable to theuser's desire.

[0059] The action menu window 52 includes function buttons which can beselected by the user by moving a mouse-controlled cursor to the buttonand pressing a mouse button to select the button displayed on thedisplay screen 50. In addition, keyboard 30 actions and/or voicecommands can be used to select various functions and control the system10. Upon selecting the button, menu item, icon or function (or othercommand entry mechanism), the securities tracking system 10 carries outlogic to invoke a corresponding action.

[0060] An exemplary button is a data button 66 for establishing acommunications link via the modem 24 or data receiver 25 to a level 1and level 2 information data service provider or to a centrally locatedserver as described in greater detail below with respect to FIG. 11.Upon establishing such a communications link, the securities trackingsystem 10 receives various items of information concerning securitiestraded at selected exchanges. For example, the user may elect to receiveinformation for securities traded at the New York Stock Exchange (NYSE)and the National Association of Securities Dealers (NASDAQ). For theNASDAQ, there are about 8,000 securities, each being traded and havingassociated therewith items of level 1 information. This information isupdated in real time or near real time (i.e., almost simultaneously withactual market activity) by the data service provider broadcastingsignals to the securities tracking system 10. For example, each time alast trade value and volume for any security on the exchange changes,the data service provider will transmit the most recent traded value,trade volume, and trade time for the security to the securities trackingsystem 10.

[0061] Similarly, for securities listed on the NASDAQ, level 2information is provided from the data service provider to the securitiestracking system 10. It is noted that at the time of filing the presentapplication for Letters Patent, NYSE level 2 information is generallynot available. However, the concepts and inventions described hereinwill have equal application to level 2 type information from anyexchange, including the NYSE. Level 2 information includes each marketmaker with an open bid or ask for any security listed on the exchangebeing tracked. The level 2 information includes the time that the ask orbid was placed (also referred to respectively as an ask time and a bidtime), the size of the ask or bid in number of shares (often reported inlots of one hundred), and the value of the bid or ask, all of which istransmitted to the securities tracking system 10 in real time or nearreal time.

[0062] The total amount of transmitted level 2 information will dependon the number of market makers placing bids or asks for any givensecurity at any given time. It has been estimated that between level 1and level 2 information for NASDAQ, that there are about 400 to about1,000 items of information which are updated each second. It is alsoestimated that most of the market activity relates to a small number ofsecurities since certain securities are more widely traded than others.For example, it has been estimated that about 90% of the market activityrelates to about 10% of the securities on the NYSE and the NASDAQ. Toillustrate this, if one were to track the NASDAQ 50 (i.e., the top 50securities traded on the NASDAQ), the computer processor capacity neededto track the amount of information being transmitted by the data serviceprovider can be expressed in terms of a variable such as X. In contrast,if one were to track the NASDAQ 150 (i.e., the top 150 securities tradedon the NASDAQ), which includes three times the number of securities ofthe NASDAQ 50, it has been estimated that the processor capacityrequired to process the information transmitted by the data serviceprovider would be less than 3× (perhaps about 1.5× to about 2×).

[0063] The action menu window 52 can also include a watch list set upbutton 68 to link the user to a GUI screen for selecting and groupingstocks of particular interest to the user. For example, the user can setup various watch lists containing selected groups of securities, such ashigh tech companies, pharmaceutical companies, retailers, transportationproviders, the NASDAQ 50 or 150, the user's favorite securities, and soforth. Within each watch list, securities are specified by tickersymbol.

[0064] The action menu window 52 can also include an alert set up button70 to link the user to a GUI window for setting up various alerts to betriggered by the level 1 and level 2 information and by the results ofcalculated statistics. Specific alerts will be discussed below in moredetail, however, the alerts are used to notify the user of marketconditions that could influence the user's decision in purchasing orselling a particular security.

[0065] The action menu window 52 also includes mode selection buttons 72so that the user can select what type of information is displayed in theanalysis result window 56. As will be described in more detail below,the analysis result window 56 can display information in at least sevenmodes including, a watch list mode (FIG. 4A), a market makers book mode(FIG. 4B and 8), a market stocks mode (FIG. 4C), a market players mode(FIG. 4D), an insider mode (FIG. 4E), a count mode (FIG. 9) and a rankmode (FIG. 10). These modes are indicated by icons on the displayselection buttons 72. In the illustrated example, the watch list modehas a pad of paper indicating a list of items, the market maker's bookmode has a notebook icon, the market stocks mode has a stock certificateicon, the market players mode has silhouettes of business people, andthe insider mode has a “B/A” (for “bid/ask”) symbol.

[0066] The action menu window 52 has a drop-down menu 74 for use inselecting one of the various watch lists when the watch list displaymode is selected or selecting one of the market makers when the marketmaker's book mode is selected. General market statistics, market indicesand the like can be displayed in a market statistics window 76 asillustrated or in a market quote window separate from the windows shownas being displayed in FIG. 2.

[0067] The action menu window 52 also includes a level 2 filterselection drop-down menu 78 for allowing the user to select a filtrationlevel (or threshold) for the displayed information. Briefly, the level 2filter is used by the securities tracking system 10 to disregard marketmaker activity that is more than a selected price percentage away fromthe last reported trade price of each security. This allows the user toconfine analysis of market maker activity to those bids and asks thatare close to the current market price of each security. Without beingbound by theory, it is believed that by monitoring and analyzing marketmaker activity that is close to the current market price, only the mostrelevant items of information will be observed and be factored into anydecision on purchasing or selling stock in a security. Examplefiltration thresholds, expressed as percentages, include 1%, 2%, 3%, 4%,and 5%. However, the filter percentage can be defined by the user andneed not be an integer (e.g., 2.5%). Filters can also be based on afixed distance (or distances) away from the last reported trade price,such as, for example, {fraction (5/16)} of a point, ⅝ of a point, 3cents, 1 cent, etc. In addition, the filter can be turned off so that nodata relating to market activity is excluded. In one embodiment of thesystem 10, the incoming data stream is filtered at each possiblefiltration percentage (including preprogrammed percentages and userdefined percentages) regardless of a filtration level selected by theuser for displayed data. Corresponding data sets are derived for each ofthose filtration percentages. The data sets are stored for display ashistorical market maker activity or for immediate presentation if theuser selects a different filtration level for displayed data.

[0068] The operation of the filter is dynamic to actively stay currentwith current market price. As an example of filter operation, if thelast reported trade in a stock took place at $20.00 and the level 2filter for displayed information was set to 1%, then all market makerbids below $19.80 (twenty cents being 1% of $20.00) and asks above$20.20 will be disregarded when displaying data in the informationdisplay window 54, when calculating information to be displayed in theanalysis result window 56 and/or when generating and displaying alerts.Using the foregoing example, if the next reported ask for the stock is$20.10, the securities tracking system 10 will use the reported ask of$20.10 and then dynamically update the statistics displayed on thedisplay screen 50 and determine if the updated statistics trigger any ofthe alerts set by the user. If, however, the next ask is $20.50, thatask will be disregarded as it is outside the range of data valuesallowed by the filter parameters. The filter adjusts itself dynamicallybased on the last trade value. For example, if, the next reported tradein stock moves to $19.90, all bids below $19.70 would be disregarded andall asks above $20.10 would be disregarded. The system 10 will filterthe incoming data stream in the same manner for every other filter levelto generate corresponding data sets. As indicated, the data sets arestored for display as historical market maker activity or for immediatepresentation if the user selects a different filtration level fordisplayed data.

[0069] The selected securities programmed into the watch lists by theuser are stored within a database associated with the user. Statisticsfor each security in the user's database are calculated regardless ofwhether the particular security is presently displayed on the displayscreen 50. This allows the securities tracking system 10 to determine ifa programmed alert (also referred to herein as an alarm) has beentripped for any of the securities in the users database. If an alert istripped, the alert is displayed in the alert window 60, as described inmore detail below. The user can define more than one database to trackvarious sets of securities. However, in a typical mode of operation,only one database can be used at a time. As indicated above, eachdatabase can contain multiple watch lists to sub-divide the securitiescontained in a user's database. In addition, the same security can beincluded within more than one watch list contained within a database.The overall number of securities that can be contained in a database andprocessed by the securities tracking system 10 is limited only by theprocessing and memory capabilities of the computer system 12 being usedto execute the securities tracking software tool.

[0070] Level 1 and Level 2 Information Display

[0071] With additional reference to FIG. 3, an exemplary level 1 andlevel 2 information display window 54 is illustrated. The window 54 canbe part of the GUI display screen 50 or can be a separate windowselectively opened by the user. Multiple instances of the window 54 canbe opened to simultaneously follow different stocks.

[0072] The information display window 54 displays level 1 and level 2information for a selected security. In one embodiment, the security fordisplay in the information display window 54 can be selected by the userby using mouse actions to select one of the securities identified in theanalysis result window 56 or the alert window 60. In the illustratedexample, Cisco Systems (ticker symbol CSCO) is displayed. Theinformation display window 54 includes a basic level 1 informationwindow 80 displaying selected items of level 1 information for theselected security. For example, in the illustrated example, the basiclevel 1 information window 80 contains the last trade value for thesecurity, the change from the previous day's trading close, the value atthe commencement of trading for the present trading day, the day's highand low values, the volume of shares exchanged for the trading sessionso far, the inside bid and the inside ask. The information displaywindow 54 also contains a trade list window 82 showing the time, priceand volume of each trade for the displayed security.

[0073] The information display window 54 also has a pair of market makerlists 84. A first market maker list 84 a identifies market makers by afour character market maker identifier who are placing bids on thedisplayed security under the heading “MMID” (short for “market makeridentifier”). A second market maker list 84 b shows market makersplacing asks on the displayed security. Also displayed in the marketmaker list 84 is the time of the bid or ask, the size of the bid or askin share lots of 100, and the bid or ask price. Bids having the sameprice are grouped together and displayed with a colored background or,as illustrated, a patterned background. Bids below a certain threshold(e.g., four or more price changes away from the highest bid) are groupedtogether at the bottom of the list 84 a. Similarly, asks having the samevalue are grouped together and displayed with a certain color orpatterned background. Asks with a price that is four or more pricechanges away from the lowest ask are grouped together.

[0074] As an indication of market depth, bar charts 86 are provided togive the user an indication of how many market makers have open (oractive) bids or asks at various price levels. The bar charts 86 containgenerally equally sized blocks having colors or patterns correspondingto those used in the market maker lists 84. For each price group, thenumber of shares being bid or offered is identified followed by thenumber of market makers at that price point. For example, in theillustrated information display window 54, two market makers are bidding$14.56 for a total of 800 shares. This information is displayed as “8/2”(for eight hundred shares among two market makers) in the correspondingbar chart 86. It is noted that the level 2 filter can be applied to theinformation displayed in the market maker lists 84 and bar charts 86and, as a result, bids or asks deemed too far away from the last tradeprice will be omitted from the market maker lists 84 and bar charts 86.

[0075] As one skilled in the art will appreciate, the informationdisplayed in the information window 54 is dynamically updated as datarelating to market maker activity is transmitted to the system 10. Theillustrated information display window 54 of FIG. 3 only captures aninstant of time. The same is true for the data, information andstatistics displayed in the analysis result window 56, the alert window60, the chart window 58 and so forth. At the time of refreshing thedisplay screen 50, the tables 84 are dynamically sorted and re-orderedrow by row to properly display the data (e.g., place the inside bids atthe top of table 84 a followed by lower bids in descending price orderand place the inside asks at the top of table 84 b followed by higherbids in ascending price order—even if a different order of asks and/orbids were displayed before the refresh). In the illustrated example, thetable 84 a is dynamically sorted by descending bid prices and the table84 b is dynamically sorted by ascending ask prices.

[0076] To assist the user to follow the activity of a selected marketmaker, the securities tracking system 10 can be provided with a trackerfeature. It is not unusual that the tables 84 a and/or 84 b can be usedto display the bids and asks of about a hundred market makers for theselected security. Since the window 54 is updated at a relatively fastrate (e.g., continually or periodically as described below in greaterdetail) to reflect current market conditions, the rows corresponding toeach market maker are subject to relatively rapid change in displayedposition. It can become difficult and tiresome for a person to watch theactivity of a particular market maker for a particular security in suchan environment.

[0077] The tracker feature visually highlights one or more rows oftables 84 a and/or 84 b that are used to display information related toa selected market maker. If the row(s) associated with the selectedmarket maker move upward or downward in the tables 84 a and 84 b, thatrow(s) will remain highlighted to assist the user's eye in following theactivity of the selected market relative to the activity of the othermarket makers.

[0078] In the example of FIG. 3, the market maker “SMCO” is selected bythe user by typing in the SMCO symbol in a tracker selection window 85.Alternatively, a drop down menu or other selection scheme can beemployed. Also, the market maker to be tracked can be selected by mouseaction, such as by clicking on the market maker identifier as displayedwithin any of the windows (e.g., window 56, table 84, etc.) discussedherein.

[0079] Thereafter, the tracker feature highlights the bids and asks ofthe selected market maker. In the example, the rows corresponding to theselected market maker are displayed against a white background tovisually stand out from the rest of the rows. The rest of the rows aredisplayed against colored backgrounds as discussed above and representedin the appended drawing figure as patterned backgrounds. It should beapparent that rows corresponding to the selected market maker need notbe displayed in white and that other colors or patterns can be used toeffectively contrast the information corresponding to the selectedmarket maker from the information corresponding to the other marketmakers. In other embodiments, the display of the alphanumeric textdisplayed on the row(s) associated with the selected market maker can becontrasted from the display of information on other rows.

[0080] As one skilled in the art will appreciate, informationtransmitted by the level 1 and level 2 information service provider andreceived by the securities tracking system 10 can be in error onoccasion. FIG. 3 illustrates at least one such error in the secondmarket maker list 84 b where an ask price of $1.00 is displayed inassociation with the market maker JPHQ. Depending on the level 2 filterselected by the user, this error may be filtered out. However, if thelevel 2 filter is not turned on or if the error falls within the rangeof values retained after filtration, then the erroneous data value willbe displayed on the information display window 54 and entered into anystatistical calculation performed by the securities tracking system 10.

[0081] Other information can also be filtered from display and entryinto the statistical calculations of the system 10. For example, acrossed market filter can be used to remove bids that are higher thanthe level 1 bid and asks that are lower than the level 2 ask. These bidsand asks are usually old bids or asks that were not purged. In thismanner, the level 1 data is used to verify the accuracy of the level 2data. In the foregoing example, if the crossed market filter were turnedon, the $1.00 ask by JPHQ would be filtered out.

[0082] The securities tracking system 10 tracks the value of each bidand ask for each market maker for each security. The next time a marketmaker places a bid for the security, the securities tracking system 10calculates whether that bid is higher or lower than the market maker'sprevious bid for that security. If the value is higher, a plus sign isplaced in a change column on the first market maker list 84 a. If thevalue is lower, a minus sign is placed in the change column. If there isno change from the previous bid, the change column is left blank in therow associated with the market maker. For example, in the first marketmaker list 84 a the market maker BTRD has entered a bid of $14.56 whichis higher in value than BTRD's previous bid for Cisco Systems. Thus a“+” sign is displayed in the change column for BTRD. Similarly, the nexttime a market maker places an ask for the security, the securitiestracking system 10 calculates whether that ask is higher or lower thanthe market makers previous ask for that security. If the value ishigher, a plus sign is placed in a change column on the second marketmaker list 84 b. If the value is lower, a minus sign is placed in thechange column. If there is no change from the previous ask, the changecolumn is left blank in the row associated with the market maker. Forexample, the market maker MONT placed an ask of $14.63 which is lessthan MONT's previous ask for Cisco Systems. Thus, a “−” sign isdisplayed in the change column for MONT. As will be described in moredetail below, these changes are aggregated by the securities trackingsystem 10 to indicate upward or downward price pressure for thesecurities contained in the user's database.

[0083] The information display window 54 can also include an insideraging window 88. Information displayed in the insider aging window 88 islinked to the insider mode and will be described in greater detailbelow.

[0084] Analysis Result Window

[0085] Referring back now to FIG. 2, the analysis result window 56 isused to display statistics which are derived from current marketactivity. It is noted that the statistics are continually updated andresorted based on the incoming data stream and as described in greaterdetail herein. The statistics are calculated based on the incoming level1 and level 2 data received over the communications link establishedwith the level 1 and level 2 data service provider. In one embodiment,the displayed information presented on the display screen 50 is writtento the screen according to a user controlled refresh rate. Refreshingthe screen periodically, rather than continuously, reduces burdens onthe computer system 12, thereby enhancing performance of the securitiestracking system 10. Example refresh rates include four times a second,twice a second, once a second, every two seconds, and the like.

[0086] As discussed above, the statistics for display on the analysisresult window 56 are derived from the filtered data set as filtered bythe level 2 filter and the crossed market filter. In addition to thelevel 2 filter and the crossed market filter, a bad data item filter (orbad tick filter) can be used to remove items of information which wereerroneously entered by operators of the stock exchange databases andsubsequently transmitted by the data service provider to the securitiestracking system 10. The bad data filter can remove items of informationwhich deviate significantly from surrounding price events for the samesecurity. For example, a bid, ask or trade price deviating more than 10%from an average of the last ten similar events can be excluded. Anotherexample of the bad data filter includes a filter which removes any itemsof price information (i.e., a bid quote, an ask quote or a trade price)which deviate from corresponding recent price information by about amultiple of 10 or 100. Such a data item indicates that a decimal pointwas erroneously typed in the price information or that a decimal placewas omitted. For example, if a particular stock is trading at about$50.00 per share and a bid of $5.00 is received, the filter can removethat data item. Another bad data filter is a filter which removes itemsof price information which deviate by one integer in a price's dollar,tens or hundreds position. For example, if a security has been tradingat about $23.00 a share, a data value of $22.00 a share or $24.00 ashare can be disregarded.

[0087] Watch List Mode

[0088] With additional reference to FIG. 4A, the analysis result window56 is illustrated when the securities tracking system 10 is placed inthe watch list mode by the user. In this mode, the analysis resultwindow 56 displays a table 56 a identifying each security in theselected watch list. Selective information derived from the level 1 andlevel 2 information is displayed in association with each ticker symbolcontained in the watch list. This information can include relativevolume of bids and asks (column 90), an indication of buy or sellpressure (column 92), the number of market makers having open bids orasks (column 94), the actual volume of bids and asks reported in sharelots of 100 (column 96), and pressurized volume (column 98). It is notedthat all displayed statistics are derived from data after application ofthe user selected level 2 filter, and/or crossed market filter,refreshed on the display screen 50 at a desired refresh rate anddynamically sorted as discussed below.

[0089] To calculate actual volume displayed in column 96, the system 10respectively sums the size of each bid and the size of each ask for allof the filtered market makers having open bids or asks within the filterthresholds for each security. In addition, the securities trackingsystem 10 counts the number of market makers having open bids and thenumber of market makers having open asks within the filter thresholdsfor display in column 94. In the illustrated example, Apple Computer(i.e., ticker symbol MPL) has 38 market makers with open bids totaling9,300 shares of bid volume and has 42 market makers having open asks foran aggregate of 16,000 shares of ask volume.

[0090] The relative volume of bids for each security (column 90) iscalculated by dividing the actual bid volume by the sum of the actualbid volume and the actual ask volume to arrive at a percentage.Similarly, the relative volume of asks is derived by dividing the actualask volume by the sum of the actual bid volume and the actual askvolume. This relative volume calculation can indicate whether there issignificant purchase or sell pressure for a given security. For example,in the illustrated example, Cisco Systems (ticker symbol CSCO) has 88.4%of the aggregate volume of shares for bid and only 11.6% of theaggregate volume of shares for sale. As a result, the demand for thesecurity heavily outweighs the availability of the security. Therefore,one may speculate that the value of the security should rise. Incontrast, in the illustrated example, Worldcom (ticker symbol WCOM) hasa relative volume of bids of 17% and a relative volume of asks of 83%,indicating that a significantly greater number of traders desire to sellWorldcom rather than purchase Worldcom. Therefore, one may speculatethat the value of the security should fall. In this manner, traders canobserve market activity to identify imbalances in market maker activityto identify advantageous moments for the execution of a trade. On theother hand, the information can illustrate to a trader when marketactivity is relatively balanced for a particular security. For example,Microsoft Corporation (ticker symbol MSFT) has a relative bid volume of46.8% and a relative ask volume of 53.2%. This may indicate that theprice for Microsoft stock, at least at the moment, may be relativelystable. As one of ordinary skill in the art of stock trading willappreciate, these calculations and the other calculations describedherein are only indicators and cannot be fully relied upon to predictvariations in a security's value. Trading securities is inherently riskyand there is never a guarantee of how much money one can make or lose byengaging in such endeavors.

[0091] The securities tracking system 10 also displays respective buyand sell pressure values in column 92. More specifically, the securitiestracking system 10 counts the number of bidding market makers who haveincreased their bid price (i.e., the number of plus signs in list 84 a).This number is reduced by the number of bidding market makers who havedecreased their bid price (i.e., the number of minus signs in list 84a). The result is displayed as buy pressure in column 92. Similarly, thesecurities tracking system 10 counts the number of offering marketmakers who have increased their ask price (i.e., the number of plussigns in list 84 b). This number is reduced by the number of offeringmarket makers who have decreased their ask price (i.e., the number ofminus signs in list 84 b). The result is displayed as sell pressure incolumn 92.

[0092] Alternatively, buy and sell pressure can be expressed in ratioformat, or as relative pressure percentages. Relative buy pressure iscomputed by dividing the buy pressure value by the sum of the buypressure value and the sell pressure value. The relative sell pressureis calculated by dividing the sell pressure value by the sum of the buypressure value and the sell pressure value.

[0093] When the buy pressure and the sell pressure are each close tozero (for example, buy/sell pressure of 0/0, 1/2, or −2/3) the user mayspeculate that there is very little upward or downward price pressure onthe security. However, large positive numerical values for buy and/orsell pressure indicate that the market makers are increasing their bidand ask price for the security. Conversely, large negative buy and/orsell pressure values would indicate that there is downward pricepressure for this security as the market makers are lowering their bidand ask values. In situations where buy pressure is a positive numberand sell pressure is a negative number, there is an indication that theprice differential between bids and asks is narrowing as market makersplacing bids are increasing their bid price and market makers offeringshares of the security are decreasing their ask price. On the otherhand, a negative value for buy pressure and a positive value for sellpressure would indicate a widening of the spread between bids and asks.

[0094] The securities tracking system 10 can also display pressurizedvolume. More specifically, the securities tracking system 10 sums thebid volume associated with each bid from the bidding market makers whohave increased their bid price. This number is reduced by the sum of thebid volume associated with each bid from the bidding market makers whohave decreased their bid price. The result is displayed as bidpressurized volume in column 98. Similarly, the securities trackingsystem 10 totals the ask volume associated with each ask from theoffering market makers who have increased their price. This number isreduced by the ask volume associated with each ask from the offeringmarket makers who have decreased their ask price. The result isdisplayed as ask pressurized volume in column 98.

[0095] The concept of pressurized volume allows the user to determine ifa large number of shares being bid and/or offered are moving upward ordownward in price. Pressurized volume can also be considered as aweighted indication of buy pressure and/or sell pressure. This weightedindication of buy pressure and/or sell pressure accounts for the volumeassociated with the bids and asks which have recently changed in pricefor each associated market maker. The pressurized volume, therefore,indicates to the user when a large volume of shares, either by onemarket maker or a number of market makers collectively, moves in price.By way of example, a user may not be very interested to know that a fewlots of 100 shares offered by a handful of market makers has moved inask price, but would be interested in knowing if, for example, 50 ormore lots of 100 shares being bid or offered moves in price.

[0096] In the illustrated example, actual pressurized volume isillustrated in column 98. However, additional or alternative methods ofindicating pressurized volume are contemplated by the invention. Forexample, relative pressurized volume can be displayed (i.e., the bidpressurized volume divided by the total pressurized volume and the askpressurized volume divided by the total pressurized volume andrespectively reported as a percentage). In another embodiment,pressurized volume can be reported as a percentage of total bid and/orask volume (i.e., dividing the bid pressurized volume of the illustratedexample by total bid volume for the security and dividing the askpressurized volume of the illustrated example by total ask volume forthe security, and respectively reporting the results as percentages). Asanother example, bid pressurized volume can be broken down into volumeassociated with increasing bids and decreasing bids. Similarly, askpressurized volume can be broken down into increasing asks anddecreasing asks. These broken down totals can be reported in a varietyof ratio formats as desired by the user.

[0097] The user may visually configure the analysis result window 56 ina number of different ways. For example, some of the columns need not bedisplayed. In another example, the listed securities can be displayed inan order according to one of the calculated parameters rather than inalphabetical order according to ticker symbol as illustrated. Forexample, a trader may be interested in showing the security with themost total bid volume first. This can be accomplished by using keyboard30 or mouse 32 actions to select the bid heading in the actual volumecolumn 96. Alternatively, the securities can be displayed by total bidand ask volume, ask volume, total number of market makers, number ofmarket makers with open bids, number of market makers with open asks, byrelative bid volume, by relative ask volume, by buy or sell pressure, orby buy or sell pressurized volume. In another embodiment, selectedcolumns can replace one another upon invoking a keyboard 30 or mouse 32action. For example, the table 56 a can show the relative volume column90, the market maker column 94 and the actual volume column 96 for eachsecurity in the watch list and suppress display of the buy and sellpressure column 92 and the pressurized volume column 98. Upon invokingthe keyboard 30 or mouse 32 action (e.g., right clicking on one of theparticular columns), the selected column will be replaced by asuppressed column.

[0098] The securities tracking system 10 will also update the displayedinformation using dynamic sorting. With the exception of the chartwindow 58 (described below) most of the information presented to theuser is in the form of tables. As indicated, each table can be sorted byselecting the words identified at the top of each column by invoking akeyboard 30, mouse 32, or voice command. In addition, the tables areperiodically refreshed to show information relating to current marketactivity. The tables and chart(s) can be refreshed continually as newdata is received and statistics are calculated. Alternatively, toconserve computer system 12 resources, the tables and chart(s) shown onthe display screen 50 can be refreshed at periodic intervals such asevery quarter second, every half second, every one second, every twoseconds, every four seconds, or the like. At the time of refreshing thedisplay screen 50, the tables are re-ordered row by row to properlydisplay the data in the manner selected by the user. For example, if theuser has selected to view table 56 a by placing the securities trackingsystem 10 in the watch list display mode and the user has selected todisplay the information in table 56 a by relative bid volume, at eachrefresh the stocks will be ordered such that the highest relative bidvolume stock will appear first, followed by the second highest relativebid volume stock and so forth (even if a different order of stocks weredisplayed before the refresh). The user can select to turn off thisdynamic sorting feature of the present invention so that updatedinformation will be displayed, but in the row by row order in which therows were before the refresh.

[0099] In addition to displaying updated statistics of current marketactivity, the securities tracking system 10 stores historical statisticsrelating to market activity for each stock in the users database. Morespecifically, this information is stored and can be charted in the chartwindow 58 in various manners discussed below. Briefly, the storedinformation includes actual bid and ask volume, number of bidding andoffering market makers, buy and sell pressure, relative bid and askvolume, and pressurized bid and ask volume (alternatively, certainstatistics can be re-calculated as needed from historical records).Historical records are also stored for information described below whenthe securities tracking system 10 is placed in the market maker's bookmode or the market players mode, the market stocks mode and the indexmode. This additional information also includes each bid and ask placedby each market maker for each security so that charts indicating theextent to which a particular market maker is supporting a particularsecurity or sector may be generated. For example, over the course of aperiod of time it may become clear that a particular market maker hasbeen offering a large number of shares at prices close to the last tradevalue in order to sell off at least a portion of that market maker'sownership in a particular security. To assist the user in discerningthis information, the market maker's activity can be charted in the samechart along with other information, including, for example, actual tradevalues, actual volume, and/or an average of bid or ask volumes for allmarket makers for the security.

[0100] Market Maker's Book Mode

[0101] Referring now to FIG. 4B, the analysis result window 56 isillustrated when the user places the system 10 in the market maker'sbook mode by selecting the book display selection button 72 (FIG. 2).The table illustrated in FIG. 4B will be referred to as table 56 b.While in the market maker's book mode, the securities tracking system 10will change the content of the drop-down menu 74 to reflect a list ofmarket makers from which the user can select a specific market maker.Table 56 b will present information allowing the user to track activityof the selected market maker, or the “market maker's book.”

[0102] The securities for which the selected market maker has an activebid or ask within the filtration thresholds selected by the user will bedisplayed by ticker symbol in table 56 b. For each of those securities,the actual volume being bid or offered by the selected market maker willbe displayed in an actual volume column 100. As illustrated, the actualvolume column 100 has two sub-columns categorized by bids and asks.These volumes are specific to the selected market maker and are alsodisplayed as relative volumes in a relative volume column 102. Therelative volume of bids is calculated by dividing the actual bid volumeby the sum of the actual bid volume and the actual ask volume. Therelative ask volume is calculated by dividing the actual ask volume bythe sum of the actual bid volume and the actual ask volume. Alsodisplayed is a column 104 identifying the market maker's bid and askprices for each security. It is noted that presently available level 2information is limited to the best bid and the best offer of each marketmaker for each security, except for some electronic market makers whomake available all of their bids and offers for each stock. Therefore,the information presented in table 56 b is correspondingly limited.Should information concerning all bids and all offers of each marketmaker for each security become widely available, the system 10 can bemodified as will be apparent to one skilled in the art to generatestatistics relating to all bids and asks in each market maker's book.

[0103] Similar to table 56 a, the information displayed in table 56 bcan be sorted by any of the displayed columns or sub-columns. Inaddition, selected columns can be hidden from view or brought into viewby the user. The information can be dynamically sorted as describedabove so that upon each display screen 50 refresh, the rows will belisted in order according to the present market maker activity. Asindicated above, market maker bidding and offering activity is stored bythe system 10 so that the charts relating to market maker activity for aparticular security can be displayed. It is also noted that the user candisplay level 1 and level 2 information for a selected security in thelevel 1 and level 2 information display window 54 by selecting thesecurity from the list presented in table 56 b.

[0104] With additional reference to FIG. 8, a table 56 b′ presentinginformation related to the market maker's book is illustrated with aninside bid/ask action feature turned on. In table 56 b′, the respectivebid and ask columns are given contrasting colors, such as green for thebid columns (represented in the drawing figure as light grey with blacktext) and red for the ask columns (represented in the drawing figure asdark grey with white text). In similar fashion, it is noted that all ofthe tables displayed in the result window 56 can be displayed withcolumns and/or rows of differing background colors and/or patterns,and/or differing text colors and/or fonts.

[0105] The inside bid/ask feature highlights the bid prices (column 104)for which the market maker is presently the highest bidder for theassociated security (i.e., the market maker has the inside bid).Similarly, the inside bid/ask feature also highlights the ask prices(column 104) for which the market maker presently has the lowest ask forthe associated security (i.e., the market maker has the inside ask). Forexample, and as illustrated, the bids and asks that are inside bids andasks for the displayed market maker can be displayed with a whitebackground in the appropriate row and column position.

[0106] As an example, the user can readily ascertain that at the instantdepicted in FIG. 8, the selected market maker has the highest bid forthe securities represented by the following symbols: SEMA, CEFT, FLEX,ORCL, MCLD, SUNW, IMNX, VRTS, TLAB, PSFT and XOXO. The selected marketmaker also has the lowest ask for the securities represented by thefollowing symbols: SBUX, SHPGY, TMPW, IMNX, ERICY, INTU and TEVA. In theillustrated example, the selected market maker has both the inside bidand inside ask for the security represented by IMNX.

[0107] The inside bid/ask feature visually presents the user with anindication of which stocks the selected market maker is making the bestbid/ask. Similar to the tracker feature described above with respect totables 84 a and 84 b, this highlighting feature assists the user infollowing the activity of a particular market maker. As a result, theuser is provided with multidimensional data that can be quicklyassimilated to assist the user in making a more informed decision aboutplacing a trade. The inside bid/ask feature could also be used tohighlight inside bid volume and ask volume if price was not displayed(e.g., in connection with the display of table 56 c (FIG. 4C) asdiscussed below with regard to the market stocks mode).

[0108] In an alternative embodiment of the bid/ask feature, eachdisplayed bid price and ask price in column 104 can be shown against abackground color corresponding to the bid/ask plateau to which thebid/ask belongs. More specifically, with reference back to tables 84 ofFIG. 3, each bid and ask is grouped with other bids and asks having thesame price and those groupings are shown against different coloredbackgrounds. Those same background colors (or other background colors orpatterns) can be used when displaying bid price and ask price in table56 b′ to visually demonstrate the relationship between the displayed bidprices and ask prices to other bid and ask prices from other marketmakers.

[0109] Market Stocks Mode

[0110] Referring now to FIG. 4C, the analysis result window 56 isillustrated when the system 10 is placed in the market stocks mode.Entry into the market stocks mode can be accomplished by the userselecting the appropriate display selection button 72. The tableillustrated in FIG. 4C will be referred to as table 56 c.

[0111] In the market stocks mode, the system 10 identifies the marketmaker with the highest combined bid and ask volume for any security inthe user's database as within the filtration level selected by the user.It is noted that the bid and ask volume calculations can include allbid/asks for each market maker and for each security that are in thedata system and survive the application of the selected filter. Forexample, a particular market maker may have multiple bids outstandingfor a particular security and the data provider may, for example,include the five highest priced bids in the incoming data stream. Theresulting volume calculation for that market maker and security can bebased on all five of those bids (subject to the application of thefilters as described herein). Alternatively, the system 10 can makevolume calculations using only the highest bid and lowest ask for eachmarket maker for each security.

[0112] The market maker identifiers are displayed in a MMID column 106.Also displayed in column 108 for each security is the actual bid and askvolume generated by the identified market maker listed in column 106.Relative volume is calculated from the values in column 108 anddisplayed in a relative volume column 100. More specifically, for eachsecurity and market maker pair, the market maker's actual bid volume isdivided by the sum of the market maker's actual bid volume and actualask volume to arrive at a relative bid volume and the market maker'sactual ask volume is divided by the sum of the market maker's actual bidvolume and the actual ask volume to arrive at a relative ask volume.

[0113] In the illustrated example shown in FIG. 4C, the securities havebeen arranged by total actual volume. That is, the sum of the bids andasks for each reported market maker are totaled and arranged indescending order. It is noted that this total is not shown in theillustrated example, but can be shown if desired. As with tables 56 aand 56 b, table 56 c can be arranged in various orders by the userselecting one of the various column or subcolumn (e.g., bid or ask)headings. Selecting any of the ticker symbols using a mouse, keyboard orvoice command will display the associated level 1 and level 2information for that security in the level 1 and level 2 informationdisplay window 54. Selecting any of the market maker identifiers incolumn 106 using a mouse, keyboard or voice command can be used todisplay the associated market maker's book (table 56 b) in the analysisresult window 56 or in a separate window. In addition, table 56 c can bedynamically sorted with each display screen 50 refresh as describedabove.

[0114] As indicated above, each security in the user's database can beidentified multiple times in table 56 c. In the illustrated example,ticker symbol SSCC is identified as the fourth and fifth entries in thetable. The first entry for SSCC is for the market maker with the fourthhighest combined bid and ask volume for any security in the user'sdatabase (ARCA with 35,300 shares bid and 100 shares offered for SSCC)and the second entry for SSCC is for the market maker with the fifthhighest combined bid and ask volume for any security in the user'sdatabase (REDI with 1,000 shares bid and 31,700 shares offered forSSCC).

[0115] As one skilled in the art will appreciate, other display methodsfor displaying information related to market maker activity in theplayers display mode is possible. For example, the identified marketmaker's bid and/or ask price can be listed and the securities trackingsystem 10 can identify whether this price is the highest bid or thelowest ask. In another embodiment, table 56 c can include one entry foreach security and the market maker identifier for the market makerhaving the highest bid volume and the market maker having the highestask volume in two separate columns. Similar to the inside bid/askfeature described above in connection with FIG. 8, the inside bid volume(bid volume associated with an inside price) and inside ask volume (askvolume associated with an inside price) could be highlighted.

[0116] The information displayed in table 56 c assists the user indetermining when a particular market maker is attempting to purchase orsell a large amount of shares in a particular security. This informationis collected so that charts of historical market maker activity can begenerated and displayed.

[0117] Market Player's Mode

[0118] Referring now to FIG. 4D, the analysis result window 56 isillustrated when the user places the system 10 in the market player'smode by selecting the market player's selection button 72 (FIG. 2). Thetable illustrated in FIG. 4D will be referred to as table 56 d. In themarket player's mode, the system 10 separately sums the bid volume andthe ask volume for all of the securities for which each market maker hasan open ask or an open bid within the filtration level selected by theuser. These values are respectively reported in column 112 of table 56d. In the illustrated example, the market makers are listed in order oftotal volume, that is, the combined bid volume and ask volume associatedwith each market maker. As one skilled in the art will appreciate, table56 d can be ordered according to any of the other columns or subcolumns(for example, by bid or ask volume). The actual volumes of column 112are converted to relative volumes in the manner described above andreported in column 114.

[0119] The system 10 will also calculate the buy pressure and sellpressure specific to each market maker. More specifically, the system 10will sum the number of bids for which the market maker has increasedtheir price and reduce that number by the number of bids for which themarket maker has reduced their price to derive market maker buy pressuretotal. Similarly, the system 12 will calculate sell pressure by summingthe number of asks for which the market maker has increased their priceand reduce that number by the number of asks for which the market makerhas reduced their price and display the total as market maker sellpressure. Market maker buy and sell pressure are displayed in column116.

[0120] Similarly to table 56 a, the information displayed in table 56 dcan be sorted by any of the displayed columns or subcolumns. Inaddition, selected columns can be hidden from view or brought into viewby the user. The information can be dynamically sorted as describedabove so that upon each display screen 50 refresh, the market makerswill be listed in order according to the present market maker activity.As indicated above, the statistics calculated by the system 10 for table56 d can be stored so that charts related to market maker activity canbe displayed. It is noted that the user can display a selected marketmakers book (table 56 b) by selecting the corresponding market makeridentifier from the list presented in table 56 d.

[0121] Insider Mode

[0122] Referring now to FIG. 4E, the analysis result window 56 isillustrated when the user places the system 10 in the insider mode byselecting the corresponding insider button 72 (FIG. 2). The tableillustrated in FIG. 4E will be referred to as table 56 e. The insidermode is used to display statistics calculated by the system 10 which areindicative of a market maker's persistence at the inside market. Morespecifically, when a market maker desires to add a position, that marketmaker needs to be one of the most aggressive bidders. Conversely, when amarket maker desires to sell a position, the market maker needs to beone of the most aggressive offering market makers for that security. Insome situations, a market maker may desire to conceal activity relatingto one or more securities by only placing bids or asks of small volumespersistently at or near the inside market. As an example, over thecourse of three days in the year 2000, Goldman Sachs sold off a verylarge position in World Com (ticker symbol WCOM) stock by offering 1,000or fewer shares at a time at prices that were at or near the lowest askprice. The insider mode is intended to assist in apprising the user ofthis type of aggressive purchase or sell action by one or more marketmakers.

[0123] The system 10 uses a market maker persistence statistic akin to amoving average, or exponential smoothing, to track market maker presenceat the inside market. The persistence statistic is expressed as apercentage and is approximately the percentage of the time a particularmarket maker has had the most aggressive bid or the most aggressive askfor any particular security over a specified period of time. Thepersistence statistic can be calculated for any period of time. In theillustrated example, column 118 reports the persistence statistic for athree-minute interval by security (column 122) and by market maker(column 124). Column 120 displays the persistence statistic for afifteen-minute interval for the same security/market maker pairs. In theillustrated example, the securities are sorted by most aggressive bidderbased on the three-minute interval period.

[0124] In the illustrated example, Siebel Systems (ticker symbol SEBL)is associated with the market maker most aggressively bidding for any ofthe stocks over the last three minutes. More specifically, approximately37.3% of the time the market maker identified by NFSC had the highestbid for Siebel Systems. Over the same three minutes, NFSC had the lowestask for approximately 0.2% of the time. Over a fifteen-minute intervalNFSC had the highest bid for SEBL approximately 11.9% of the time andthe lowest ask approximately 0.2% of the time.

[0125] As one skilled in the art will appreciate, there are a number ofpossible approaches for calculating how long a particular marker makeris at the inside market for any particular security. An exemplaryapproach involves breaking the time period (e.g., three minutes, fifteenminutes, an hour, a trading session, or the like) into a plurality ofsegments. Each segment has a known duration, such as a quarter of asecond, a half of a second, one second, two seconds, four seconds, orthe like. The rate at which the period is broken into segments isreferred to herein as an index rate. The index rate can be the same asthe refresh rate for refreshing information displayed on the displayscreen 50, but need not be the same as the refresh rate.

[0126] For both bids and asks and for each segment of time, each marketmaker is given a value of either one or zero for each security in theuser's database. On the bid side, a bid value of one is assigned to anymarket maker for the segment/security if the market maker's level 2 bidis equal to or higher than the level 1 bid for the security (i.e., theinside market bid). On the ask side, an ask value of one is assigned toany market maker for the segment/security if the market maker's level 2ask is equal to or lower than the level 1 ask for the security (i.e.,the inside market ask). A bid value of zero is assigned to each marketmaker for any segment of time for which the market maker does not have alevel 2 bid that is equal to or higher than the level 1 bid. An askvalue of zero is assigned to each market maker for any segment of timefor which the market maker does not have a level 2 ask that is equal toor lower than the level 1 ask for that stock. One skilled in the artwill appreciate that more than one market maker can be at the insidemarket during any given segment, each being assigned an appropriate bidor ask value of one for the segment.

[0127] The bid and ask values for each market maker and each securityare tracked over the period of time and can be converted into apercentage by numerically summing all of the bid values assigned to eachmarket maker on a security by security basis and dividing that number bythe number of segments in the period and summing all of the ask valuesassigned to each market maker on a security by security basis anddividing that number by the number of segments in the period.

[0128] According to another embodiment of the invention, anexponentially smoothed persistence percentage is calculated byseparately summing each bid or ask according to an exponential averagewhere the current sum of all values (ΣVALc) is calculated according toequation 1 as follows: $\begin{matrix}{{\Sigma \quad V\quad A\quad L\quad c} = \left( {{\Sigma \quad V\quad A\quad L\quad p} + \frac{{C\quad V} - {\Sigma \quad V\quad A\quad L\quad p}}{m}} \right)} & {{Eq}.\quad 1}\end{matrix}$

[0129] In equation 1, m is the number of segments in the period, CV isthe current value assigned to the marker maker and ΣVALp is the priorsum of all values calculated according to equation 1 one segmentearlier. The ΣVALc value is multiplied by 100 to arrive at a percentage,that percentage representing the exponential average of the aggregationof each bid or ask value for the market maker for a selected securityover the time period of interest. The equation is solved separately forbid and ask values.

[0130] As an example, the index rate is set to assign a bid and askvalue every second. Therefore, over a three minute time period, thereare 180 segments (three minutes times sixty segments per minute). If aparticular market maker has a level 2 bid at or higher than the highestlevel 1 bid for a security for 90 of those segments, the ΣVALc wouldapproach 0.50. If the current value assigned to the market maker is one,indicating that at the current time segment the market maker has a bidequal to or higher than the highest level 1 bid, the second term of theequation will increase the persistence percentage slightly. In theexample, the persistence percentage would be about 50.3%. As one skilledin the art will appreciate, a solution for equation 1 for each marketmaker, for each stock, for each time period of interest, will be solvedfor both bids and asks. The solution is an approximation to thepercentage of time the market maker spends at the inside market andresults in a means of calculating an exponential moving average for themarket maker's time spent at the inside market. The resultingpersistence statistic can be graphed for the time period or weightedagainst the volume of the associated bids and asks from the marketmaker.

[0131] As one skilled in the art will appreciate, other formulas can beused to measure the persistence, or percentage of time, that a marketmaker has a bid equal to the inside bid or an ask equal to the insideask.

[0132] As one skilled in the art will appreciate, certain securitiesthat are not widely traded may have one or more market makerscontinually placing a bid or an ask for the security until a seller orbuyer becomes available. This may take a considerable amount of time(e.g., minutes to days) and skew the results prescribed in table 56 e.Therefore, the user can activate a filter to discard certain securitiesfrom the insider mode statistics. The filter disregards securitieshaving a trade volume below a certain threshold. The volume thresholdcan be the trade volume from the previous trading day or an averagetraded volume for the security. The threshold is user definable and canbe established globally or for selected securities.

[0133] Similar to table 56 a, the information displayed in table 56 ecan be sorted by any of the displayed columns or subcolumns. Inaddition, selected columns can be hidden from view or brought into viewby the user. The information can be dynamically sorted as describedabove so that upon each display screen 50 refresh, the rows will belisted in order according to the present market maker activity. Asindicated above, data associated with table 56 e market maker biddingand offering activity is stored by the system 10 so that charts relatingto market maker activity for any particular security can be displayed.It is also noted that the user can display level 1 and level 2information for a selected security in the level 1 and level 2information display window 54 by selecting the security from the listpresented in column 122 of table 56 e. The user can display a marketmaker's book (table 56 b) by selecting the market maker identifier incolumn 124 of table 56 e.

[0134] Count Mode

[0135] Referring now to FIG. 9, the analysis result window 56 isillustrated when the securities tracking system 10 is placed in thecount mode. In the count mode, the analysis result window 56 displays atable 56 f identifying each security tracked by the securities trackingsystem 10 (this may include all securities and indices in all of theuser's watch lists or all securities on all exchanges from which data isreceived—even if the securities and indices are of different type, suchas a mix of stocks and futures). Alternatively, the displayed securitiescan be the securities from a selected watch list. The displayedsecurities may be limited by one or more filters as discussed below.

[0136] For each displayed security, the information presented in thetable 56 f can include the price information, such as the last tradevalue (column 300), a rank indicator (column 302, discussed in greaterdetail below with respect to the rank mode) and the intra-session hightrade value and low trade value (column 304).

[0137] In addition, for each displayed security, the table 56 f caninclude a high count and a low count (respectively, columns 306 a and306 b). The high count represents the number of times during the tradingsession that the security traded at a new and higher intra-session highprice. The low count represents the number of times during the tradingsession that the security traded at a new and lower intra-session lowprice. As discussed below, in calculating the high and low counts, thesecurities tracking system can be configured to ignore new highs and/orlows established during an initial period of trading for the tradingsession to allow the price for the security to settle near a tradingrange. The high count and the low count are based on level 1 trade pricedata.

[0138] Since major exchanges are auction markets, buyers and sellerscompete with each other to buy and sell securities at desirable prices.At the beginning of a trading session (referred to as an “openingbalance” period), trades for each security are made over a range ofprices that establish a market value (or “opening balance” price range)for the security. This opening balance price range is bounded by a highprice and a low price, and contains all of the other trades in between.Often, an entire session's trades for a security will fall within theopening balance price range.

[0139] Occasionally, securities may experience a trending day, or asession when the security steadily advances in value or steadilydeclines in value. During such a session, the security will typicallymove in the same direction with some regularity and tend to close withinfive percent of the session's high (or low) trade value.

[0140] Certain traders would like to be able to identify when a securityis having a trending day. Also, certain traders may be especiallyinterested when a security trades outside the security's opening balanceprice range. These factors could assist the trader in deciding when tobuy or sell a particular security.

[0141] The high count and the low count may serve as an indicator oftrending, or that a particular security has a likelihood of advancingduring the course of the trading session or declining during the courseof the trading session. Securities having a relatively large high countvalue tend to be securities that have a likelihood of advancing duringthe course of the trading session. Securities having a relatively largelow count value tend to be securities that have a likelihood ofdeclining during the course of the trading session.

[0142] The count mode is intended to display to the user, on a real timeor near real time basis, the number of new intra-session highs and/ornew intra-session lows for each displayed security once an openingbalance period has elapsed. Since each individual may have a differentopinion as to how much time is needed for the market to establish astable opening balance price range, the opening balance period duringwhich new intra-session highs and new intra-session lows will bedisregarded by the securities tracking system 10 can be defined by theuser. The time period during which the securities tracking system 10will disregard new intra-session highs and lows will be referred toherein as a count delay interval. Some common count delay intervals caninclude, for example, zero minutes (i.e., the high count and low countare calculated from the start of the trading session), fifteen minutes,thirty minutes, forty five minutes and sixty minutes.

[0143] Following the count delay interval, the securities trackingsystem 10 will, for each security monitored in the count mode, incrementa high counter each time the security trades above the trading session'shigh for the security. Similarly, the securities tracking system 10will, for each security monitored in the count mode and following thedelay interval, increment a low counter each time the security tradesbelow the trading session's low for the security. It is noted that thetrading session's high and low are updated each time a new high and/orlow is reached and each trade is compared against the current high andlow to determine if the high counter or the low counter should beincremented.

[0144] As an example, FIG. 9 illustrates a list of securities sorted bythe securities having the highest numerical high count. In the example,the security represented by the symbol MXIM has established thirty ninenew highs for the trading session following the count delay interval. Nosecurities are shown with a low count of greater than zero. However, ifthe table 56 f were sorted by low count or if the user were to scrolldown the table 56 f, the securities that set new lows for the tradingsession after the count delay interval would appear. As indicated above,sorting the table 56 f on a desired column can be accomplished byselecting the column. In the illustrated example, the descriptiveheading of the selected column is shown in bold text.

[0145] As with the other modes described herein, the table 56 fdisplaying the high count and the low count can be updated using dynamicsorting. That is, at each screen refresh, the table can be reordered rowby row to place the securities in order based on the updated values inthe selected column. Also, the columns can be displayed in ascending ordescending order.

[0146] As indicated, the securities for which the securities trackingsystem 10 maintains the high count and the low count can optionally befiltered. For example, the securities can be filtered based on volume.Liquidity of a security can be a concern to traders when deciding whento place a trade. Should there not be sufficient trading volume in asecurity, the trader cannot be assured that the trade (buy or sell) willproceed at or near the desired value. The securities tracking system canallow the user to filter out securities from the table 56 f that do notexceed a certain liquidity threshold. For example, the volume filter canbe based on the previous trading session's traded volume. In oneembodiment, the securities tracking system 10 can be configured to trackthe high count and the low count for securities that had a total tradevolume of greater than a certain number of shares (e.g., 500,000 shares)during the previous session (or trading day). The threshold can beestablished globally for all securities and/or on a security by securitybasis.

[0147] As one skilled in the art will appreciate, alternative volumefilters can be employed. As another example, the high count and the lowcount can be maintained for all securities, but only those securitiesthat reach a certain trade volume for the current trading session willbe displayed in table 56 f. As another example, the high count and thelow count can be maintained for only those securities that reach acertain trade volume after a predetermined time has elapsed. Thepredetermined time could be the same as the count delay interval oranother time period.

[0148] Another filter that can be used (with or without the volumefilter) is a price filter. Securities with a relatively low price (e.g.,about $5.00 or less) can have a high transactional cost relative to thetotal cost of trading that security. Accordingly, the securitiestracking system 10 can be configured to track the high count and the lowcount for securities having a trade value of over a specified threshold.The specified threshold can be user definable, apply to all securitiesglobally and/or on a security by security basis, and/or can be setagainst various values (e.g., price at the close of the last session,current trade price, session's high, etc.).

[0149] Other filters, such as a user definable filter, can also be usedalone or in conjunction with the foregoing filters, to reduce thesecurities tracked in the count mode to a desirable set of securities.

[0150] As previously described, a user may select a security from thesecurity column of table 56 f to display level 1 and level 2 informationfor the selected security in the level 1 and level 2 information displaywindow 54 or in a separate window.

[0151] Rank Mode

[0152] With continued reference to FIG. 9 and additional reference toFIG. 10, the analysis result window 56 is illustrated when thesecurities tracking system 10 is placed in the rank mode. The rank modeis used to generate a statistic referred to herein as the rank value (orsimply, the “rank”). The rank value presents the user with informationregarding the relationship between a last trade price for a security andthe intra-trading session high and low for the security. It maysometimes be desirable to display the high count and the low countdiscussed above with respect to the count mode along with the rankvalue. Accordingly, the table 56 f can include each of the rank column302, the high count column 306 a and the low count column 306 b, as wellas any other columns of information considered valuable by the user.

[0153] The rank value is calculated for each security displayed in thetable 56 f. The calculation is made for each trade for each of thedisplayed securities. For example, the rank value can be calculated foreach security tracked by the securities tracking system 10 (this mayinclude all securities in all of the user's watch lists or allsecurities on all exchanges from which data is received—even if thesecurities are of different type, such as a mix of stocks, futuresand/or indices). Alternatively, the displayed securities can be thesecurities in a selected watch list. The displayed securities may belimited by one or more filters as discussed below.

[0154] In one embodiment, the rank value is a percentage value that isindicative of how far the last trade for the security is away from thesession's high and low for the security. The difference between thesession's high and the session's low is referred to herein as the “day'srange.” As new trading highs and/or lows are established for a security,the day's range will expand. Equation 2 can be used to calculate therank value. $\begin{matrix}{{{Rank}\quad {Value}} = \frac{\left( {{{Last}\quad {Trade}\quad {Value}} - {{Session}\quad {Low}}} \right)}{{{Day}'}s\quad {Range}}} & {{Eq}.\quad 2}\end{matrix}$

[0155] For each security, the rank value will be updated as new tradeinformation (trade price, new session high and new session low) isreceived and processed by the securities tracking system 10. The rankvalues can be calculated on a real time basis and displayed on a realtime basis or on a near real time basis depending on the display 28refresh options selected by the user.

[0156] In the example of FIG. 10, the table 56 f illustrates thesecurities ordered by the securities' corresponding rank value indescending order. As with the other modes described herein, the table 56f can be updated using dynamic sorting. That is, at each screen refresh,the table can be reordered row by row to place the securities in orderbased on the updated values in the selected column. Also, the columnscan be displayed in ascending or descending order.

[0157]FIG. 10 illustrates a list of securities sorted by the securitieshaving the highest numerical high rank. In the example, the securityrepresented by the symbol ASML has a rank value of one hundred percent,indicating that the last trade was at the session high. As anotherexample, the security represented by the symbol MERQ had a last trade of$39.12 which was about 97.4 percent of the day's range. In addition,MERQ has posted twenty two new highs for the session (as identified incolumn 306 a). These indicators may assist the user in concluding thatthe value of the MERQ securities is trending in an upward direction.

[0158] A rank value at or approaching zero would indicate that the stockis at or near its session low. It is noted that if a security trades ata new intra-session low, equation 2 would mathematically result in azero value. Therefore, by definition, a security trading at a new highwould have a rank value of one hundred and a security trading at a newlow would have a rank value of zero.

[0159] As a result, the rank can be used to alert the user to when asecurity reaches a new intra-session high or a new intra-session low asthose new highs and/or lows are reached. Although not illustrated, twotables 56 f (or a single, but split table 56 f) can be displayed toassist the user in visually following securities that are establishingnew highs and securities that are establishing new lows.

[0160] As indicated, the securities for which the securities trackingsystem 10 maintains the rank value can optionally be filtered. Forexample, the securities can be filtered based on volume and/or price inthe manners described above for the count mode. Other filters, such as auser definable filter, can also be used alone or in conjunction with theforegoing filters, to reduce the securities tracked in the rank mode toa desirable set of securities.

[0161] Insider Aging Window

[0162] Referring back now to FIG. 3, the insider aging window 88 will bedescribed in more detail. The illustrated example of the insider agingwindow 88 is a three-minute window, however, other time periods oradditional time periods can be depicted in the same manner in theinsider aging window 88. For the security displayed in the informationdisplay window 54 and for the time period of interest, the insider agingwindow 88 displays the market makers who have been the most aggressivein placing bids or asks. The market makers are reported by market makeridentifier followed by the approximate percentage of the time period (ascalculated by the persistence percentage equation) the market maker hasbeen at the inside market over the time period. As with the other tablesdisplaying information to the user, the insider aging window 88 can bedisplayed using dynamic sorting to appropriately reorder the lists ofmarket makers displayed in the insider aging window 88 based on currentmarket maker activity.

[0163] Charting

[0164] Referring now to FIG. 5A, the chart window 58 is illustrated inmore detail. The illustrated chart window 58 shows the values at which aparticular security has been traded, the time of those trades and thevolume of the trades for a one minute time period. It is noted that whena particular stock is selected from either the analysis result window 56or the alert window 60, a chart corresponding to that stock will bedisplayed in the chart window 58. Therefore, the chart displayed in thechart window 58 will usually correspond with the information displayedin the level 1 and level 2 information displayed in the informationdisplay window 54. However, at certain times, the chart may notcorrespond to the information displayed in the information displaywindow 54, such as if the chart window 58 is used to display sectorindices or a particular market maker's activity. Also, the chart window58 can be displayed in its own sizable window, separate from the exampleGUI display screen 50 layout.

[0165] The chart window 58 has a first menu 150 in the form of a dropdown box for selecting the type of chart to be displayed, such as actualtrading activity as shown in the illustrated example in a graphingsubwindow 152. The first menu 150 also includes choices to select amonggraphs of historical information on a securities by securities basis ora market maker by market maker basis. Example graphs include historicalcollections of data for the values derived for table 56 a displayed whenthe securities tracking system 10 is placed in the watch list displaymode. These graphs can include charts of net volume, relative volume,bid and/or ask volume, net or relative buy and/or sell pressure, net orrelative pressurized volume, and so forth. As indicated earlier,additional charts can be constructed based on specific market makeractivity. These graphs include graphs of historical informationcalculated when the securities tracking system 10 is placed in any ofthe market maker book mode, the market stocks mode, the market playersmode, and the insider mode.

[0166] A second menu 154 is provided so that the user can select theduration for which the selected information will be displayed. Forexample, information can be displayed on a tick-by-tick basis, on aminute-by-minute basis, on a five-minute basis or on a ten-minute basis.One skilled in the art will appreciate that other time periods can becharted, such as by hours, days, months, quarters or years. A scroll baris provided as part of the graphing sub-window 152 to allow the user toview earlier portions of the charts.

[0167] Occasionally, a user may be interested in one particular item ofinformation displayed on a chart. In the illustrated example, there is aprice bar which spikes downward at about time index 15:01. The user maybe interested in checking this irregularity. The securities trackingsystem 10 includes a zoom feature where the user places the mouse cursor156 over the desired item to be zoomed in on by initiating a mouse 32,keyboard 30 or voice command. Upon initiating the command, a zoom chart158 (illustrated in FIG. 5B) is displayed on the display screen 50. Thezoom chart 158 displays information at the corresponding time index butwith greater resolution. More specifically, the securities trackingsystem 10 will display a chart corresponding to the chart displayed inthe graphing sub-window 152 but at a duration which is one choicesmaller from the duration selection made in the second menu 154 for thegraphing sub-window 152. For example, if the graphing sub-window 152illustrates a five-minute chart, the zoom chart 158 will displayinformation surrounding the selected five-minute interval by one-minuteincrements. The user can repeat this process by clicking at a point inthe zoom chart 158 to then display a second zoom chart 158 in the formof a tick chart for the selected one-minute interval. In the illustratedembodiment, the chart window illustrated in FIG. 5A shows a one-minutechart and a corresponding zoom chart 158 illustrated in FIG. 5B is atick chart. By zooming in on a portion of a chart, a user can gaininsight as to market behavior. In addition, the user can use the zoomfeature to identify erroneous data values which may have beentransmitted to the securities tracking system 10. For example, theexemplary downward spiking bar may have been the result of a trade whichactually took place at about $18.35 but was erroneously entered at$18.18.

[0168] Alerts

[0169] Referring now to FIG. 6, an example alert window 60 is displayed.As indicated above, the alert window contains alerts which are triggeredby level 1 data, level 2 data or the statistics derived therefrom. Thealerts can be programed by the user to be triggered on a global basis,on a per-security basis or on a per-market maker basis. Morespecifically, global alerts are those which are triggered for anysecurity or market maker upon the presence of a certain condition. Forexample, the user can specify that an alert is triggered if relative bidvolume for any security drops below 10%. An example specific alert is ifthe relative bid volume (ask volume) for Dell Computers (ticker symbolDELL) goes below 15% (above 85%). Alerts can take a number of forms,such as flashing icons on the display screen 50, audio alerts broadcastvia the speaker 40 and the addition of the alert to the alert window 60.It is noted that the securities tracking system 10 produces alerts forall items in the user's database and not just the items displayed at anygiven time on the display screen 50.

[0170] The user can select any of the displayed alerts in the alertwindow 60 by invoking an appropriate keyboard 30, mouse 32 action orvoice command. Upon selecting one of the displayed alerts, the level 1and level 2 information display window 54 will show level 1 and level 2information for the selected security, and the chart window 58 will showa trade history chart for the selected security. In addition, a pop-upmenu will appear offering the user choices for taking action withrespect to the alert. The menu choices include clearing the alert (i.e.,removing the alert from display so that if the alert threshold iscrossed again, the alert will be regenerated), resetting the alert(i.e., entering a new alert threshold), and opening an alert programmingmenu for configuring how the alerts are generated based on calculatedstatistics. In one embodiment of the invention, if the user does notselect the alert and/or take action based upon one of the menu choices,the alert will clear itself automatically on the occurrence of aprogrammed event. These programmed events can include the expiration ofa timer (for example, the alert will be removed from the alert window ifit has been displayed for two minutes without otherwise being acted uponby the user) or when the condition generating the alert no longerpersists (for example, if relative bid volume for a security falls below10% and triggers an alert, the alert will be cleared if the relative bidvolume goes back above the 10% threshold or some other programmed alertclearing threshold).

[0171]FIG. 6 illustrates some example alerts that can be defined by theuser. As one skilled in the art will appreciate, many other types ofalerts can be established based on the calculated statistics or based onlevel 1 information and/or level 2 information. Alerts are displayed intable format. The illustrated exemplary table contains seven items ofinformation. The order of alerts can be sorted by selecting headingsdisplayed across the top of the table. These headings, as with theheadings of the other tables presented in the various windows of thedisplay screen 50, can be in “button” format as illustrated in FIG. 6.These exemplary columns include a ticker symbol column, a user definedname for the alert, field column (i.e., the category of level 1, level 2or calculated statistics which generates the alert), a type column(i.e., an identification of how the alert was triggered with respect tothe category identified in the field column), a value column (foridentifying the threshold value for triggering the alert), a last valuecolumn (for identifying the value that triggered the alert) and a timecolumn (for identifying the time at which the alert was generated).

[0172] The first two exemplary alerts illustrated in FIG. 6 aretriggered using level 1 information. More specifically, the alerts forJNPR and AAPL were generated based on price (i.e., last trade value),and more particularly the daily high or low, for those particularsecurities. Respectively, the trade values which triggered those alertswere $33.94 and $21.60. These alerts may be configured by the user to bespecific to the particular stocks. For example, if JNPR was trading atabout $40.00 per share, the user may have been interested in anysignificant deviation from that amount. Example alerts that can beconfigured include the price falling below or rising above specifiedvalues (e.g., $36.50 and $45.00 respectively) or a certain percentagedeviation in price.

[0173] The next four exemplary alerts illustrate alerts generated basedon relative volume. For example, an alert was programmed by the user forDell Computer (ticker symbol DELL) so that if the relative bid volumedropped below 15% the alert would be triggered. The next three alertsfor JNPR, ATHM and MSFT exemplify a globally configured alert to betriggered if any security has a relative volume that falls below 10% orrises above 90%.

[0174] The next two alerts illustrate triggered alerts based on buypressure (i.e., upward price pressure) or sell price pressure (i.e.,downward price pressure). For example, as shown by the alert for SVIN,the user may have configured an alert to be triggered if any securityhas a buy pressure of 10 or greater and a sell pressure of 10 orgreater. As shown for the alert for ROBS, the user may have configuredan alert to be triggered if the buy pressure for ROBS is −8 or less andthe sell pressure for ROBS is −6 or less.

[0175] As one skilled in the art will appreciate, alerts can beprogrammed for any data value and can be based on a specific thresholdvalue or deviation (expressed as a number or as a percentage) from acurrent or specified value. In addition, an alert can be based onmultiple parameters. For example, an alert could be configured to detectof a security has a buy/sell pressure of X/Y and a total bid/ask volumeof Z shares.

[0176] Example Operational Logic

[0177] Referring now to FIGS. 7A to 7D, an exemplary architecture, oroperational logic 200, for the securities and market maker activitytracking system software tool is illustrated. The illustratedarchitecture shows operational processing blocks, each one of which mayrepresent a number of subprocesses, routines or applettes. Theillustrated architecture is intended to show the functionality andoperation of an implementation of the above described logic and system10. If embodied in software, each functional block may represent amodule, segment, or portion of code that contains one or more executableinstructions to implement the specified logic function(s). If embodiedin hardware, each functional block may represent a circuit or a numberof interconnected circuits to implement the specified logicalfunction(s).

[0178] Although the architecture blocks are shown in a specific order ofexecution, it is understood that the order of execution may differ fromthat depicted. For example, the order of execution of two or more blocksmay be altered relative to the order shown. Also, two or more blocksshown in succession may be executed concurrently or with partialconcurrence. In addition, various blocks may be omitted. It isunderstood that all such variations are within the scope of the presentinvention.

[0179] In processing block 202, the operational logic 200 will commencea data feed by establishing a communications link with the level 1 andlevel 2 data service provider. As indicated above, the data will bereceived over the external network 38 or alternative communicationsdevice, such as the satellite receiver 39, using the appropriateinterface, such as the modem 24 or data transceiver 25.

[0180] In processing block 204, the securities and market maker activitytracking software tool, or program, is launched. More specifically, thesoftware tool is read from the memory 16 or other computer readablemedium and executed by the processor 14.

[0181] In processing block 205, the operational logic 200 will retrieveprogram settings. The program settings include items such as level 2data filtration levels, refresh rates, index rates, index periods, andso forth.

[0182] In processing block 206, the program links the user to thedatabase containing user-defined parameters, such as the watch listspopulated with securities of interest to the user, user-defined alertsand security information (e.g., level 1 and level 2 information). Shouldthe user not link the program to a database, the operational logic 100will terminate in processing block 208. If, however, the user links thesoftware tool to a database in processing block 206, the operationallogic 200 will proceed to processing block 210 where the operationallogic checks for a security code. If the correct security clearance ismade, the operational logic 200 will proceed to processing block 212where the software tool will load the user's database, including thewatch lists and associated securities and the alerts to be triggeredbased on changing market conditions and market maker activity. If avalid security code is not verified in processing block 210 the userwill be afforded the opportunity to input valid security clearance inprocessing block 214. If, in processing block 214, the user does notinput valid security clearance information, the software tool willterminate in processing block 208. Otherwise, the operational logic 200will proceed to processing block 212. It should be understood thataccess to the software tool can be limited by alternative access controltechniques, including passwords, biometric scans, and/or digitalsignatures.

[0183] As one skilled in the art will also recognize, some features andfunctions are not limited for use with the computer system 12, but canbe accessed by a remotely located system over the network 38. Morespecifically, the computer system 12 can carry out portions of theoperational logic 200 described herein and transmit data and/orcalculated values to a remote workstation or remote workstations fordisplay, further processing and/or completing other portions of theoperational logic 200.

[0184] In processing block 216 the software tool will access the datafeed that was commenced in processing block 202. The data feed maycontain level 1 information, level 2 information, indices information(i.e., the DOW, the NASDAQ composite, the S&P 500, and the like),futures information, options information and currency information. Uponaccessing the data feed in processing block 216, the operational logic200 will begin to monitor the data feed in processing block 218. Theprocessing block 218 will examine the items of information received overthe data feed and pass each item of information to an appropriatesubprocess. In the illustrated embodiment, three subprocesses arepresent corresponding to an indices subprocess 220 (FIG. 7B), a level 1data subprocess 224 (FIG. 7C) and a level 2 data subprocess 238 (FIG.7D). Other subprocesses can be added for the processing and handling ofdata feed information relating to futures, options and currencies, butwill not be described in detail herein.

[0185] Referring now to FIG. 7B, the indices subprocess 220 isillustrated. Processing block 218 (FIG. 7A) will pass any informationrelated to an index to the indices subprocess 220. Generally, the system10 does not perform any detailed calculations based on index data.Therefore, in processing block 222, the operational logic 200 willupdate any display screen 50 information that has changed based on theindex information contained within the data stream on or before the nextdisplay screen 50 refresh.

[0186] Referring now to FIG. 7C, the level 1 data subprocess 224 isillustrated. As items of information relating to level 1 data arereceived, processing block 218 (FIG. 7A) will pass these items of level1 information to the level 1 data subprocess 224. In processing block228, the level 1 data subprocess 224 will determine if the item of level1 information corresponds to any security or alert contained within theuser's database or to the information used by the count and/or rankmodes. It is noted that subsequent to loading the user's data inprocessing block 212, the user may have updated or otherwise changed oneor more securities in one or more of the user's watch lists and/orchanged the alert parameters processed by the system 10. Those changeswill be considered by processing block 228, and subsequent processingblocks 232 to 236, when determining if the incoming items of level 1information correspond to items in the user's database. If any item oflevel 1 information does not correspond to an item in the user'sdatabase or to the information used by the count or rank modes, thatitem of level 1 information will be discarded in processing block 230.Otherwise, the items of incoming level 1 information will be passed toprocessing block 232 where the level 1 subprocess 224 will conduct anyappropriate processing of the level 1 data items. In addition, thedisplay screen 50 windows (such as the information display window 54,the analysis result window 56 and the chart window 58) will be updatedbased on any new or changed level 1 information for the securitypresently displayed in those windows.

[0187] In processing block 234, the level 1 data subprocess 224 willdetermine if any alerts based on level 1 information (e.g., price of atrade) triggers one of the alerts. If an alert is triggered based onlevel 1 information, that alert will be displayed in the alert window 60or otherwise broadcast to the user. The processing block 234 can also beprogrammed to determine if any triggered alerts should be cleared. Asindicated above, alerts can be cleared by appropriate user action, onthe expiration of a timer associated with each alert, or if thecondition generating the alert is no longer present. If there is analert or alerts to be cleared, the level 1 data subprocess 224 willclear the alert and remove it from display in processing block 234.

[0188] In processing block 236, the operational logic 200 will display achart in the chart window 58 according to selections made by the user.Those selections include a bar chart of specified duration or a tickchart as is known in the art. The user may elect to zoom in on oneaspect of the chart to call up a zoom chart 158 having a durationresolution less than the duration resolution displayed in chart 152(FIG. 5A). Using the drop down menu 150, the user can also select othertypes of charting methods as described in greater detail above todisplay charts of calculated statistics based on the activity of marketmakers.

[0189] Referring now to FIG. 7D, the level 2 data subprocess 238 isillustrated. As items of information relating to level 2 data arereceived, processing block 218 (FIG. 7A) will pass these items to thelevel 2 data subprocess 238. In processing block 240, the level 2 datasubprocess 238 will determine if each incoming level 2 data valuecorresponds to an item contained within the user's database, includingsecurities contained within the watch list and alerts. If the incominglevel 2 data value does not correspond with an item in the user'sdatabase, the level 2 data item will be discarded in processing block242. Otherwise, the level 2 data item will be passed to processing block244. It is noted that any changes to the user's database since loadingof the information contained within the user's database in processingblock 212 (FIG. 7A) will be considered by processing block 240. Thoseupdates will also be considered for each of the processing blocks 244through 256.

[0190] In processing block 244, the level 2 data subprocess 238 willtrack each item of level 2 information received since the last displayscreen 50 refresh for use in subsequent calculations as describedherein. In processing block 246, the level 2 data subsystem 238 willapply the level 2 filters as described in greater detail above. Morespecifically, each level 2 filter, as set by default or as set by theuser (e.g., 1%, 1.5%, 2%, etc. of the last trade value for each stock),will be applied to the level 2 data to filter out bids and asks aspecified percentage away from the corresponding security's last tradeprice to derive corresponding data sets containing the bids and asksplaced by the market makers for each security that have been passed bythe filter (i.e., not discarded as being outside the filtration levelthresholds).

[0191] In processing block 248, the level 2 data subsystem 238 willcalculate the statistics for the various modes of operation, includingthe watch list mode, market makers book mode, the market stocks mode,the market player's mode, and the insider mode, for each data setresulting from the application of each filter in processing block 248.The statistics calculated in processing block 248 will be stored inprocessing block 250 for subsequent retrieval and display as a chart inwindow 58, in the analysis result window 56, and/or in the informationdisplay window 54. It is noted that the statistics are stored along withthe level 1 data.

[0192] In processing block 252, the level 2 data subsystem 238 willdetermine if any alerts dependent upon level 2 statistics are triggeredbased on the calculated statistics of processing block 248 and, if anyalerts are tripped, processing block 252 will display those alerts inthe alert window 60 or otherwise notify the user. The generation ofalerts can be limited to alerts triggered based on statistics generatedfrom one of the data sets resulting from the application of a filter inprocessing block 248. Processing block 252 will also determine if thereare any previously triggered alerts to be cleared and if so, clear thosealerts. As indicated above, alerts may be cleared by appropriate useraction, upon the expiration of a timer associated with each alert, or ifthe condition generating the alert is no longer present.

[0193] In processing block 254, the level 2 data subprocess dynamicallysorts the statistics along with the statistics' associated tickersymbols and market maker identifiers. As described above in greaterdetail, the dynamic sorting uses the most recently calculated statisticsto arrange the displayed items in an order selected by the user. Forexample, if the user has selected the watch list display mode and toview the displayed information by total volume, the level 2 datasubprocess 238 will arrange the securities in the displayed watch listwith the security having the highest combined total of bid volume andask volume displayed first, the security having the next highestcombined total bid and ask volume displayed second, and so forth.

[0194] In processing block 256, the level 2 data subprocess 238 willupdate the display of level 2 data (such as the raw bid and ask datadisplayed in the information display window 54) and any associatedcalculated statistics (such as the statistics displayed in the analysisresult window 56 and the index aging window 88) at the next displayscreen 50 refresh. It is noted that the displayed information isdisplayed according to the user-selected mode of operation and theselected filtration level for displayed information.

[0195] As one skilled in the art will appreciate, the foregoingarchitecture for the securities and market maker activity trackingsoftware tool and associated operational logic 200 is exemplary.Alternative methods of carrying out the logic and methods describedherein will be apparent to one of ordinary skill in the art and isintended to fall within the scopes of the claims appended hereto.

[0196] The logic described herein can be embodied in anycomputer-readable medium for use by or in connection with an instructionexecution system such as a computer/processor-based system or othersystem that can fetch or obtain the logic from the computer-readablemedium and execute the instructions contained therein. In the context ofthis document, a “computer-readable medium” can be any medium that cancontain, store or maintain logic and/or data for use by or in connectionwith the instruction execution system. The computer-readable medium canbe any one of many physical media such as, for example, electronic,magnetic, optical, electromagnetic, infrared, or semiconductor media.More specific examples of suitable computer-readable medium wouldinclude, but are not limited to, a portable magnetic computer diskettesuch as a floppy disk, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable, programmable read-only memory(EPROM), or a compact disk (e.g., a CD, a CD-RW, or a DVD-ROM).

[0197] Example Distributed Architecture

[0198] As indicated above, portions of the operational logic describedherein can be distributed among multiple processors and/or multiplecomputing systems. With additional reference to FIG. 11, a distributedembodiment of the securities and market maker activity tracking system10′ is shown. The system 10′ includes a data source 350, a server 352and one or more clients 354. In the illustrated embodiment of thedistributed system 10′, the server 352 is responsible for calculatingmany of the statistics described above. Custom sets of information,including raw data and calculated statistics, can then be transmitted tothe clients 354 for additional processing and/or display. The clients354, which can be general purpose computer devices, will typically beused by traders and those interested in observing securities market andmarket maker activity.

[0199] The data source 350 transmits a data stream containing level 1and level 2 information for all securities and indices from an exchangeor exchanges of interest to the server 352. The data stream can beprovided by a data vendor(s) and/or by one or more exchanges. As isknown in the art, the data stream can be transmitted over any networkinterface, including, for example, a dedicated communication connection,the Internet, satellite communication connection and so forth.

[0200] The server 352, which can be a general computing device, includeslogic (e.g., in the form of software) to carry out the operations of adata object 356, a data server 358 and one or more socket machines 360.The data object 356 receives the incoming data stream of level 1 andlevel 2 information. The data object 356 can-retain a master list of allof the symbols tracked by each client 354 configured to receiveinformation (data and statistics) from the server 352. It is noted thateach client 354 may be interested in receiving information for differentsets of symbols, but it is expected that there will be extensiveoverlapping of the symbols of interest from client 354 to client 354 asmost traders are interested in symbols having high liquidity associatedtherewith. The symbols of interest to a particular client 354 can begrouped into a client list (the client list can be constructed from thewatch lists associated with each client 354) and the master list can beconstructed from each client list.

[0201] For each symbol in the master list, the data object 356 cancalculate many of the statistics described herein. Thus, much of theprocessing involved with the system 10′ can be centralized. Thereafter,the data and/or statistics can be transmitted from the data object 356to each of the data server 358 and the socket machines 360. The dataserver 358 retains data and/or calculated statistic for historicalretrieval if desired by one or more of the clients 354 as describedbelow in greater detail. The retained information can include all dataand/or statistics from the present trading session and/or historicaldata and/or statistics from past trading sessions. The data server 358can also be responsible for retaining information regarding each client354 in the form of a subscriber database, which can include, forexample, the client list for each client 354, client 354 accessprivileges and so forth.

[0202] The socket machines 360 receives data and statistics from thedata object 356. In one embodiment, the data and statistics are sentfrom the data object 356 in broadcast fashion to be received by eachsocket machines 360 that is “listening” to an output port of the dataobject 356. Therefore, the overall server 352 is scalable by enablingand disabling socket machines 360 on an as needed basis.

[0203] The clients 354 can be configured to log on to the system 10′ byestablishing a communication connection (via a networked communicationlink or a direct communication link) to one of the socket machines 360of the server 352. Each socket machine 360 can establish communicationconnections with multiple clients 354. The server 352 can be configuredto balance the load of transmitting information (e.g., data andcalculated statistics) to the various clients 354 among the variousenabled socket machines 354.

[0204] The socket machines 360 retransmit the data and statisticsreceived from the data object 356 to each client 354 according to eachclient's 354 client list. In this manner, the client 354 receives dataand statistics for only those symbols that are of interest to the client354. In one embodiment, the information is transmitted from the socketmachines 360 to each client 354 in broadcast format (e.g., the clients354 “listen” for data to be sent from the associated socket machine 360without prompting). As one skilled in the art should appreciate, thetransmission of limited sets of data and statistics to each client 354can reduce the amount of bandwidth consumed by each client/serverconnection and can reduce the amount of filtering and processingperformed by each client 354 in comparison to a configuration where eachclient 354 receives a complete data stream containing informationassociated with more symbols than of interest to the client 354.

[0205] Upon receipt of the data and statistics from the server 352, eachclient can perform various processing functions on the data andstatistics as described in greater detail above. These processingfunctions can include, for example, filtering, dynamically sorting,generating alerts, charting, displaying and so forth. The client 354 canalso maintain a database of data and/or statistics for use in generatinga display or chart of historical information. The database can includeinformation for the current trading session or multiple days worth ofinformation. Should additional information be desired (information for atime period during which the client 354 was not in communication withthe server 352) the client 354 can send a query to the server 352 forthe desired information. The socket machines 360 can retain some datafor each symbol on the master list (e.g., the current day's trading dataand statistics, plus recent historical data and statistics). If theinformation requested by the client 354 is retained by the socketmachine 360, then the socket machine 360 can transmit the information tothe requesting client 354. If the requested information is not retainedby the socket machine 360, the socket machine 360 can retrieve thedesired information from the data server 358 and then transmit theinformation to the requesting client 354.

[0206] Conclusion

[0207] Although particular embodiments of the invention have beendescribed in detail, it is understood that the invention is not limitedcorrespondingly in scope, but includes all changes, modifications andequivalents coming within the spirit and terms of the claims appendedhereto.

What is claimed is:
 1. A method of tracking a plurality of symbolsrelating to securities traded on at least one common exchange,comprising: receiving a dynamically updated data stream containing level1 data relating to the plurality of symbols traded over the at least oneexchange, the level 1 data including at least the last trade price ofeach symbol; and analyzing the data stream for a set of symbols toderive a statistic indicative of temporary upward or downward pricepressure, the statistic derived for each symbol from the set of symbolsand updated based on the updated data stream, wherein deriving thestatistic includes counting the number of times each symbol achieves anew intra-session high and counting the number of times each symbolachieves a new intra-session low.
 2. The method according to claim 1,further comprising waiting a specified period of time after thebeginning of the session to count the new intra-session highs and newintra-session lows.
 3. The method according to claim 2, furthercomprising displaying at least some of the new intra-session high countsand associated symbols in a table.
 4. The method according to claim 2,further comprising displaying at least some of the new intra-session lowcounts and associated symbols in a table.
 5. The method according toclaim 1, further comprising displaying at least some symbol identifiersassociated with the symbols from the set of symbols and for each symbolidentifier displaying an associated value, the associated value selectedfrom the new intra-session high count, the new intra-session low countand combinations thereof.
 6. The method according to claim 5, furthercomprising dynamically sorting the table based on a parameter selectedby the user to reflect current market activity.
 7. The method accordingto claim 1, wherein before analyzing, the method further comprisesfiltering the data stream for each symbol based on volume.
 8. The methodaccording to claim 7, wherein the filtering is based on volume from aprior trading session.
 9. The method according to claim 7, wherein thefiltering is based on volume from the current trading session.
 10. Themethod according to claim 1, wherein before analyzing, the methodfurther comprises filtering the data stream for each symbol based onprice.
 11. The method according to claim 1, further including, for eachsymbol from the set of symbols, determining a relationship between eachtrade price and at least one of an intra-session high and anintra-session low, the relationship indicative of how close the lasttrade value is to at least one of the intra-session high and theintra-session low value.
 12. The method according to claim 11, whereinthe relationship is determined by solving the equation:$\frac{\left( {{{Last}\quad {Trade}\quad {Price}} - {{Intra}\text{-}{session}\quad {Low}}} \right)}{{{Day}'}s\quad {Range}}$

wherein the day's range is the intra-session high minus theintra-session low.
 13. A method of tracking a plurality of symbolsrelating to securities traded on at least one common exchange,comprising: receiving a dynamically updated data stream containing level1 data relating to the plurality of symbols traded over the at least oneexchange, the level 1 data including at least the last trade price ofeach symbol; and analyzing the data stream for a set of symbols toderive a statistic indicative of temporary upward or downward pricepressure, the statistic derived for each symbol from the set of symbolsand updated based on the updated data stream, wherein deriving thestatistic includes determining a relationship between each trade priceand at least one of an intra-session high and an intra-session low, therelationship indicative of how close the last trade value is to at leastone of the intra-session high and the intra-session low.
 14. The methodaccording to claim 13, wherein the relationship is determined by solvingthe equation:$\frac{\left( {{{Last}\quad {Trade}\quad {Price}} - {{Intra}\text{-}{session}\quad {Low}}} \right)}{{{Day}'}s\quad {Range}}$

wherein the day's range is the intra-session high minus theintra-session low.
 15. The method according to claim 13, furthercomprising displaying at least some of the relationship statistics andassociated symbol indicators in a table.
 16. The method according toclaim 15, further comprising dynamically sorting the table based on aparameter selected by the user to reflect current market maker activity.17. The method according to claim 13, wherein before analyzing, themethod further comprises filtering the data stream for each symbol basedon volume.
 18. The method according to claim 17, wherein the filteringis based on volume from a prior trading session.
 19. The methodaccording to claim 17, wherein the filtering is based on volume from thecurrent trading session.
 20. The method according to claim 13, whereinbefore analyzing, the method further comprises filtering the data streamfor each symbol based on price.
 21. A method of tracking activity of aplurality of market makers relating to securities traded on at least onecommon exchange where the market makers place bids and asks, comprising:receiving a dynamically updated data stream containing level 1 and level2 data relating to a plurality of securities traded over the at leastone exchange, the level 1 data including at least the last trade priceof each security and the level 2 data containing a bid price, a bidtime, a bid volume, a security identifier, and a market maker identifierfor each bid, and an ask price, an ask volume, an ask time, a securityidentifier and a market maker identifier for each ask; for a selectedsecurity, displaying at least some of the bid prices and associatedmarket maker identifiers on a display in an order according to bid priceand displaying at least some of the ask prices and associated marketmaker identifiers on the display in an order according to ask price; andfor a selected market maker, visually emphasizing at least one of adisplayed bid price or a displayed ask price.
 22. The method accordingto claim 21, further comprising dynamically sorting the displayed bidprices, ask prices and market maker identifiers to reflect currentmarket maker activity.
 23. The method according to claim 21, furthercomprising filtering the data stream, the filtering including discardingbids having a price lower than the last trade value minus one of aselected threshold percentage of the last trade value or a fixed priceaway, and discarding asks having a price higher than the last tradevalue plus one of a selected threshold percentage of the last tradevalue or a fixed price away.
 24. The method according to claim 23,wherein filtering is conducted for a plurality of selected thresholdpercentages or fixed prices away, and for each selected thresholdpercentage or fixed price away a corresponding data set is derived, thestatistic being calculated and updated for each selected security foreach data set.
 25. The method according to claim 21, further comprisinganalyzing the data stream for a selected set of securities from theplurality of securities to derive a statistic indicative of temporaryupward or downward price pressure, the statistic derived for eachselected security and updated based on the updated data stream, whereinderiving the statistic includes determining whether a bid placed by anyof the market makers has a value higher than, the same as or lower thanthe previous bid placed by the same market maker and determining whetheran ask placed by any of the market makers has a value higher than, thesame as or lower than the previous ask placed by the same market maker.26. A method of tracking activity of a market maker relating tosecurities traded on at least one common exchange where the market makerplaces bids and asks, comprising: receiving a dynamically updated datastream containing level 1 and level 2 data relating to a plurality ofsecurities traded over the at least one exchange, the level 1 dataincluding at least the last trade price of each security and the level 2data containing a bid price, a bid time, a bid volume, a securityidentifier, and a market maker identifier for each bid, and an askprice, an ask time, an ask volume, a security identifier and a marketmaker identifier for each ask; identifying each security from a selectedset of securities for which the market maker has at least one of anactive bid or an active ask; displaying a list of the identifiedsecurities along with an indication of the market maker's bid price andask price; and visually emphasizing any bid price and any ask price forwhich the market maker has the inside bid and the inside askrespectively.
 27. The method according to claim 26, further comprisingderiving an indication of the market maker's bid volume and ask volumefor the identified securities.
 28. The method according to claim 27,wherein the indication of the market maker's bid volume and ask volumeis relative bid volume and relative ask volume.
 29. The method accordingto claim 26, further comprising dynamically sorting the display based ona parameter selected by the user to reflect current market makeractivity.
 30. The method according to claim 26, wherein beforeidentifying each security, the method further comprises filtering thedata stream, the filtering including for each selected security,discarding bids having a price lower than the last trade value minus oneof a selected threshold percentage of the last trade value or a fixedprice away, and discarding asks having a price higher than the lasttrade value plus one of a selected threshold percentage of the lasttrade value or a fixed price away.
 31. The method according to claim 30,wherein filtering is conducted for a plurality of selected thresholdpercentages or fixed prices away and for each selected thresholdpercentage or fixed price away a corresponding data set is derived, thestatistic being calculated and updated for each selected security foreach data set.
 32. A method of tracking activity of a plurality ofmarket makers relating to securities traded on at least one commonexchange where the market makers place bids and asks, comprising:receiving a dynamically updated data stream containing level 1 and level2 data relating to a plurality of securities traded over the at leastone exchange, the level 1 data including at least the last trade priceof each security and the level 2 data containing a bid price, a bidtime, a bid volume, a security identifier, and a market maker identifierfor each bid, and an ask price, an ask time, an ask volume, a securityidentifier and a market maker identified for each ask; selecting a setof securities from the plurality of securities; determining for eachselected security an indication of at least one of bid volume and askvolume for each market maker; displaying the securities and marketmakers by the indication of at least one of bid volume and ask volume ina table; and visually emphasizing any displayed indication of bid volumeand any displayed indication of ask volume for which the associatedmarket maker respectively has an inside bid price or an inside askprice.
 33. The method according to claim 32, wherein the indication ofat least of bid volume and ask volume is combined bid volume and askvolume.
 34. The method according to claim 32, wherein the combined bidvolume and the combined ask volume are converted into relative bidvolume and relative ask volume.
 35. The method according to claim 32,further comprising dynamically sorting the display based on a parameterselected by the user to reflect current market maker activity.
 36. Themethod according to claim 32, wherein before identifying, the methodfurther comprises filtering the data stream, the filtering including foreach selected security, discarding bids having a price lower than thelast trade value minus one of a selected threshold percentage of thelast trade value or a fixed price away, and discarding asks having aprice higher than the last trade value plus one of a selected thresholdpercentage of the last trade value or a fixed price away.
 37. The methodaccording to claim 36, wherein filtering is conducted for a plurality ofselected threshold percentages or fixed prices away and for eachselected threshold percentage or fixed price away a corresponding dataset is derived, the statistic being calculated and updated for eachselected security for each data set.
 38. A system for tracking aplurality of symbols relating to securities traded on at least onecommon exchange, comprising: a receiver for receiving a dynamicallyupdated data stream containing level 1 data relating to the plurality ofsymbols traded over the at least one exchange, the level 1 dataincluding at least the last trade price of each symbol; and a processorfor executing logic to analyze the data stream for a set of symbols toderive a statistic indicative of temporary upward or downward pricepressure, the statistic derived for each symbol from the set of symbolsand updated based on the updated data stream, wherein deriving thestatistic includes counting the number of times each symbol achieves anew intra-session high and counting the number of times each symbolachieves a new intra-session low.
 39. The system according to claim 38,wherein a specified period of time after the beginning of the session isallowed to elapse before counting the new intra-session highs and newintra-session lows.
 40. The system according to claim 39, furthercomprising a display for displaying at least some of the newintra-session high counts and associated symbols in a table.
 41. Thesystem according to claim 39, further comprising a display fordisplaying at least some of the new intra-session low counts andassociated symbols in a table.
 42. The system according to claim 38,further comprising a display for displaying at least some symbolidentifiers associated with the symbols from the set of symbols and foreach symbol identifier displaying an associated value, the associatedvalue selected from the new intra-session high count, the newintra-session low count and combinations thereof.
 43. The systemaccording to claim 42, wherein the logic dynamically sorts the tablebased on a parameter selected by the user to reflect current marketactivity.
 44. The system according to claim 38, wherein the logicfilters the data stream for each symbol based on techniques selectedfrom volume filtering, pricing filtering and combinations thereof.
 45. Asystem of tracking a plurality of symbols relating to securities tradedon at least one common exchange, comprising: a receiver for receiving adynamically updated data stream containing level 1 data relating to theplurality of symbols traded over the at least one exchange, the level 1data including at least the last trade price of each symbol; and aprocessor for executing logic to analyze the data stream for a set ofsymbols to derive a statistic indicative of temporary upward or downwardprice pressure, the statistic derived for each symbol from the set ofsymbols and updated based on the updated data stream, wherein derivingthe statistic includes determining a relationship between each tradeprice and at least one of an intra-session high and an intra-sessionlow, the relationship indicative of how close the last trade value is toat least one of the intra-session high and the intra-session low. 46.The system according to claim 45, wherein the relationship is determinedby solving the equation:$\frac{\left( {{{Last}\quad {Trade}\quad {Price}} - {{Intra}\text{-}{session}\quad {Low}}} \right)}{{{Day}'}s\quad {Range}}$

wherein the day's range is the intra-session high minus theintra-session low.
 47. The system according to claim 45, furthercomprising a display for displaying at least some of the relationshipstatistics and associated symbol indicators in a table.
 48. The systemaccording to claim 47, wherein the logic dynamically sorts the tablebased on a parameter selected by the user to reflect current marketactivity.
 49. The system according to claim 45, wherein the logicfilters the data stream for each symbol based on a techniques selectedfrom volume filtering, pricing filtering and combinations thereof.
 50. Asystem for tracking activity of a plurality of market makers relating tosecurities traded on at least one common exchange where the marketmakers place bids and asks, comprising: a receiver for receiving adynamically updated data stream containing level 1 and level 2 datarelating to a plurality of securities traded over the at least oneexchange, the level 1 data including at least the last trade price ofeach security and the level 2 data containing a bid price, a bid time, abid volume, a security identifier, and a market maker identifier foreach bid, and an ask price, an ask volume, an ask time, a securityidentifier and a market maker identifier for each ask; and a display fordisplaying, for a selected security, at least some of the prices andassociated market maker identifiers on a display in an order accordingto bid price and displaying at least some of the ask prices andassociated market maker identifiers on the display in an order accordingto ask price, wherein, for a selected market maker, at least one of adisplayed bid price or a displayed ask price is visually emphasized. 51.The system according to claim 50, further comprising a processor forexecuting logic to dynamically sort the displayed bid prices, ask pricesand market maker identifiers to reflect current market maker activity.52. The system according to claim 50, further comprising a processor forexecuting logic to filter the data stream, the filtering includingdiscarding bids having a price lower than the last trade value minus oneof a selected threshold percentage of the last trade value or a fixedprice away, and discarding asks having a price higher than the lasttrade value plus one of a selected threshold percentage of the lasttrade value or a fixed price away.
 53. The system according to claim 52,wherein the filtering is conducted for a plurality of selected thresholdpercentages or fixed prices away and for each selected thresholdpercentage or fixed price away a corresponding data set is derived, thestatistic being calculated and updated for each selected security foreach data set.
 54. The system according to claim 50, further comprisinga processor for executing logic to analyze the data stream for aselected set of securities from the plurality of securities to derive astatistic indicative of temporary upward or downward price pressure, thestatistic derived for each selected security and updated based on theupdated data stream, wherein deriving the statistic includes determiningwhether a bid placed by any of the market makers has a value higherthan, the same as or lower than the previous bid placed by the samemarket maker and determining whether an ask placed by any of the marketmakers has a value higher than, the same as or lower than the previousask placed by the same market maker.
 55. A system of tracking activityof a market maker relating to securities traded on at least one commonexchange where the market maker places bids and asks, comprising: areceiver for receiving a dynamically updated data stream containinglevel 1 and level 2 data relating to a plurality of securities tradedover the at least one exchange, the level 1 data including at least thelast trade price of each security and the level 2 data containing a bidprice, a bid time, a bid volume, a security identifier, and a marketmaker identifier for each bid, and an ask price, an ask time, an askvolume, a security identifier and a market maker identifier for eachask; a processor for executing logic to identify each security from aselected set of securities for which the market maker has at least oneof an active bid or an active ask; and a display for displaying a listof the identified securities along with an indication of the marketmaker's bid price and ask price, wherein any bid price and any ask pricefor which the market maker has the inside bid and the inside askrespectively is visually emphasized.
 56. The system according to claim55, wherein the processor executes logic to derive an indication of themarket maker's bid volume and ask volume for the identified securities.57. The system according to claim 56, wherein the indication of themarket maker's bid volume and ask volume is relative bid volume andrelative ask volume.
 58. The system according to claim 55, wherein thelogic dynamically sorts the table based on a parameter selected by theuser to reflect current exchange activity.
 59. The system according toclaim 55, wherein the logic filters the data stream, the filteringincluding for each selected security, discarding bids having a pricelower than the last trade value minus one of a selected thresholdpercentage of the last trade value or a fixed price away, and discardingasks having a price higher than the last trade value plus one of aselected threshold percentage of the last trade value or a fixed priceaway.
 60. The system according to claim 59, wherein the filtering isconducted for a plurality of selected threshold percentages or fixedprices away and for each selected threshold percentage or fixed priceaway a corresponding data set is derived, the statistic being calculatedand updated for each selected security for each data set.
 61. A systemof tracking activity of a plurality of market makers relating tosecurities traded on at least one common exchange where the marketmakers place bids and asks, comprising: a receiver for receiving adynamically updated data stream containing level 1 and level 2 datarelating to a plurality of securities traded over the at least oneexchange, the level 1 data including at least the last trade price ofeach security and the level 2 data containing a bid price, a bid time, abid volume, a security identifier, and a market maker identifier foreach bid, and an ask price, an ask time, an ask volume, a securityidentifier and a market maker identified for each ask; a processor forexecuting logic to determine, for each security from a set of securitiesfrom the plurality of securities, an indication of at least one of bidvolume and ask volume for each market maker; and a display fordisplaying the securities and market makers by the indication of atleast one of bid volume and ask volume in a table, wherein any displayedindication of bid volume and any displayed indication of ask volume forwhich the associated market maker respectively has an inside bid priceor an inside ask price is visually emphasized.
 62. The system accordingto claim 61, wherein the indication of at least one of bid volume andask volume is combined bid volume and ask volume.
 63. The systemaccording to claim 62, wherein the combined bid volume and the combinedask volume are converted into relative bid volume and relative askvolume.
 64. The system according to claim 61, wherein the logicdynamically sorts the table based on a parameter selected by the user toreflect current market maker activity.
 65. The system according to claim61, wherein the logic filters the data stream, the filtering includingfor each selected security, discarding bids having a price lower thanthe last trade value minus one of a selected threshold percentage of thelast trade value or a fixed price away, and discarding asks having aprice higher than the last trade value plus one of a selected thresholdpercentage of the last trade value or a fixed price away.
 66. The systemaccording to claim 65, wherein filtering is conducted for a plurality ofselected threshold percentages or fixed prices away and for eachselected threshold percentage or fixed price away a corresponding dataset is derived, the statistic being calculated and updated for eachselected security for each data set.